SharePoint中的权限体系
来源:互联网 发布:安卓电路设计软件 编辑:程序博客网 时间:2024/06/04 19:04
1.MOSS中的权限结构
MOSS中的权限结构主要有三部分:网站权限,列表权限,个人权限。
网站权限由18种如下图:
列表权限由12种,如下图:
个人权限由三种,如下图:
2.权限级别
上面提供的就是基本的权限,不同的权限组成MOSS中的权限级别。MOSS本身为我们提供了一些权限级别,我们也可以根据自己的需求来自定义。
我们在自定义自己的权限级别的时候可以参考Moss本身的,在他的基础上进行修改,我们编辑现有的网站级别,里面提供了一个复制权限级别的功能,
我们可以复制一份在这个基础进行修改来定义我们自己的权限级别。
3.下图展示了MOSS权限,用户和权限对象之间的关系:
4.使用SharePoint对象模型控制权限
主要使用下面几个类:
SPUser,SPGroup,SPRoleDefinition,SPRoleAssignment。
SPRoleDefinition用于角色(即前面所说的“权限级别”)的定义
它的几个重要的属性有:
Name:角色名称
Description:角色描述
BasePermissions:角色的权限(就是在这个地方指定详细的权限)
另外,Type属性是SPRoleType枚举类型的,关于权限的枚举是SPBasePermissions
SPRoleAssignment用于权限的分配,它比较简单,只有三个public的属性:
Member:把权限分配给谁
Parent:在什么东西上分配权限
RoleDefinitionBindings:分配什么权限
Member是SPPrincipal类型的是SPUser和SPGroup的父类
Parent:实现了ISecurityxxxx接口
RoleDefinitionBindings:可以理解为SPRoleDefinition的一个集合
在2007里面每一个能分配权限的东西(SPWeb、SPList、SPListItem等)都会有一个RoleAssignments属性,它是一个SPRoleAssignmentCollection类型的属性,
用于分配权限
此外,在SPWeb里还有RoleDefinitions属性(只在SPWeb里有,也就是说角色只能定义在网站里)
举例如下:
我们要给一个用户(user)分配一个在列表(list)上的权限,权限使用了一个名叫“xxx”的角色
代码如下:
SPRoleAssignment ra = new SPRoleAssignment(user);
SPRoleDefinition rd = web.RoleDefinitions["xxx"];
ra.RoldDefinitionBindings.Add(rd);
list.RoleAssignments.Add(ra);
又比如,修改一个用户的权限:
SPRoleAssignment ra = list.RoleAssignments.GetAssignmentByPrincipal(user);
SPRoleDefinition rd = web.RoleDefinitions["xxx"];
ra.RoldDefinitionBindings.Add(rd);
ra.Update();但是,如果这个列表的权限之前是继承自网站的,
那么上面的代码并不会自动的修改这种继承,反而会抛出异常
我们必须手工解除这种继承关系:
list.BreakRoleInheritance(true);
参数中true的意思是把继承下来的权限重新copy过来(如果你不改它的话,它和网站的权限还是一样的),如果是false,则使用列表模版中定义的默认权限
如果要新建一个角色的话,直接new一个SPRoleDefinition,改改它的Name、Description、BasePermissions属性,然后再加到web.RoleDefinitions里就可以了;
或者在new的时候可以选择一个现有的角色copy过来,再改一改。这个代码我就不写了
此外,在权限方面还有一些其他的小改动:
在2003里,使用xxx.Permissions得到xxx(可以是SPWeb、SPList)的权限,但是在2007里Permissions属性也被废弃了
我们记得Permissions有一个非常有用的东西叫DoesUserHavePermissions来判断当前用户权限的,
在Permissions属性被废弃掉之后,这个方法移植到了SPWeb、SPList等类里
直接使用list.DoesUserHavePermissions就ok了
而且,现在这个方法不仅可以判断当前用户的权限,也可以判断指定用户的权限(通过SPUser)
另外,SPWeb、SPList及SPListItem也加入了CheckPer
- SharePoint中的权限体系
- SharePoint中的权限体系
- SharePoint中的权限体系
- SharePoint中的权限体系
- SharePoint中的权限体系
- SharePoint中的权限定义参照
- 理解SQL Server中的权限体系
- SQL Server中的权限体系(上)-主体
- SQL Server中的权限体系(下)-安全对象和权限
- Office SharePoint 权限开发
- [SharePoint]设置问卷调查权限
- Office SharePoint 权限开发
- SharePoint自定义权限级别
- sharepoint 权限问题
- sharepoint 读取权限操作
- SharePoint Designer 2010 权限
- SharePoint 2010 权限管理
- [SharePoint]设置问卷调查权限
- Linux root用户与一般用户的区别
- spring autoproxy by annotation
- UML中类图的理解
- DirectX 9 get the Adapter info
- js 对文字编码
- SharePoint中的权限体系
- fullCalendar:中文API
- response.setContentType() MIME参数 类型总结
- 自动化单元测试
- 电子工程师过去1年的点点滴滴
- 虚拟机不能上网
- VMware Server 介绍和安装操作系统(linux)
- 汇编指令的执行过程
- 读取环境变量并利进行文件的解析