今天在尝试写一个关于文档库的Eventhandler.
需求来源:用户能在文档库中创建或上传文档,但是不能编辑和删除,现在想让其能编辑和删除自己上传的文档。
我先创建了一个控制台应用程序来测试,这个程序执行一边,会循环将文档库里的所有文件的创建者赋予完全控制权限,后续的Eventhandler我会继续完成,先请大家帮我测试一下这样写是否可行。注意测试时,创建一个控制台应用程序,拷贝代码,再把站点URL换成实际的URL,文档库名称换成实际的文档库名称。
程序源码:
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;
namespace TestListFolder{
class Program {
static void Main(string[] args) {
SPSecurity.CodeToRunElevated mycode = new SPSecurity.CodeToRunElevated(TestEventhandler);
SPSecurity.RunWithElevatedPrivileges(mycode);
}
public static void TestEventhandler() {
SPSite site = new SPSite(站点URL);
SPWeb web = site.RootWeb;//打开的是最顶级站点
SPList list = web.Lists[文档库名字];
for (int j = 0; j < list.Items.Count; j++) {
SPListItem item = list.Items[j];
SPFile file = list.Items.File;
SPUser user = file.Author;
SPRoleAssignment sa = new SPRoleAssignment((SPPrincipal)user);
SPRoleDefinition role = web.RoleDefinitions["完全控制"];
sa.RoleDefinitionBindings.Add(role);
item.BreakRoleInheritance(true);
item.RoleAssignments.Add(sa);
}
}
}
}
这里是控制台应用程序的全部代码,并注意添加对sharepoint的引用
作者:whalelover
声明:欢迎各大网站转载本站文章,还请保留一条能直接指向本站的超级链接,谢谢!
时间:2008-06-27 09:18:12,点击:65824
【声明】:以上文章或资料除注明为Office自创或编辑整理外,均为各方收集或网友推荐所得。其中摘录的内容以共享、研究为目的,不存在任何商业考虑。如有任何异议,请与本站联系,本站确认后将立即撤下。谢谢您的支持与理解!
相关评论
我要评论
评论内容
相关文章
推荐文章