您的位置:首页 > 其它

SharePoint 权限提升(SPSecurity)

2008-10-13 23:13 232 查看
最近正在研究MOSS列表的权限,基于一个任务列表,在新建一个任务的时候自动为被分配人员分配查看、编辑当前任务的权限。解决这个问题使用了moos的EventHandler,一切都搞定后,使用管理员测试感觉还不错,结果换了用户以后发现代码不好使了,于是开始寻找原因(由于用户权限的问题),从网上查了很多关于MOSS提升的文章,又学到了不少知识,哈哈。下面是我学习过程中的一些记录:

1、moss的权限提升是将需要具有管理员权限的代码部分放入到如下代码块中运行:

Code

SPSecurity.RunWithElevatedPrivileges(delegate()

{

SPWeb currentWeb = SPContext.Current.Web;

currentWeb.BreakRoleInheritance(true);//这段代码在执行时如果用户没有权限,则会出现错误。

}

//下面这样就不会出现错误。

SPSecurity.RunWithElevatedPrivileges(delegate()

{

SPSite site = new SPSite(SPContext.Current.Web.Site.Url);//使用上下文对象得到SPSite的url,并new出一个SPSite对象,这样就脱离了上下文的信息。

SPWeb currentWeb = site.AllWebs[SPContext.Current.Web.Name];

currentWeb.BreakRoleInheritance(true);//这段代码在执行时如果用户没有权限,则会出现错误。

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: