您的位置:首页 > 其它

在Share Point 2010 中针对相应用户赋某一个list中的item相关权限

2013-01-21 17:20 381 查看
看标题看起来挺绕口,实际上是这样的,在项目中往往会有这样的情况,针对某些用户,他对于list中的其中一个item或者多个item只有Read权限或者其他,这样就不能仅仅是对list赋权限了,就需要利用item来赋权限。

SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite oWebsite = new SPSite(SPContext.Current.Web.Url))
{
using (SPWeb web = oWebsite.OpenWeb())
{

web.AllowUnsafeUpdates = true;

item.BreakRoleInheritance(true);//打断继承
SPRoleAssignmentCollection roleAssignmentCollection = item.RoleAssignments;
for (int i = roleAssignmentCollection.Count - 1; i >= 0; i--)
{
roleAssignmentCollection.Remove(i);
}
SPRoleAssignment roleAssignment = new SPRoleAssignment((SPPrincipal)spUser);//假定可以拿到一个spuser
roleAssignment.RoleDefinitionBindings.Add(web.RoleDefinitions["Read"]);//赋read权限
item.RoleAssignments.Add(roleAssignment);
item.Update();
web.AllowUnsafeUpdates = false;
          }
        }
});


这时,从页面中就可以看到,选中list中的一个item,点击ribbon中的 item permissions按钮。





就会发现,对于某个用户赋予了相应权限。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: