SharePoint权限
请教大家关于SharePoint权限的问题:
首先看看SharePoint权限的体系结构:
Sharepoint权限系统采用 权限——角色 ——对象——关联 的概念,也就是说,用户的权限是通过角色控制对某对象的操作权限的,如果我想修改某用户对某对象的操作权限,是不是能同通过修改角色?如果是的话,是不是对所有拥有该角色的用户的权限都会修改?
有什么办法我可以只修改某一个用户对某对象(列表)的操作权限,但其他用户对该对象(列表)的操作权限不受影响?
请大家指教?如果能解决问题,我会额外加分。
[解决办法]
可以的
以下代码是我新建文档时将此文档权限只设置为自己为完全控制
把继承的权限删除掉。
SPWeb web = workflowProperties.Web; //获取工作流web SPListItem item=workflowProperties.Item;//获取此文档 item.BreakRoleInheritance(false);//除去继承权限 item.Update();//更新 SPRoleDefinitionCollection roleDefinitions = web.RoleDefinitions;//获取当前网站的角色集合 SPRoleAssignment role = new SPRoleAssignment(item.File.Author);//创建一个角色授权 role.RoleDefinitionBindings.Add(roleDefinitions["完全控制"]);//将权限添加到角色 item.RoleAssignments.Add(role);//将角色授权给文档 item.Update();
[解决办法]
1.item.BreakRoleInheritance(false) 只是对当前的某个文档除去父辈权限
2.是的,完全控制只是添加到Author身上,不影响其他的权限,比如系统管理员还是可以编辑此文档。