微网站有什么好处,wordpress后台满,高端定制网站开发建站教程详解,搜索引擎关键词优化方案1.MOSS中的权限结构 MOSS中的权限结构主要有三部分#xff1a;网站权限#xff0c;列表权限#xff0c;个人权限。 网站权限由18种如下图#xff1a; 列表权限由12种#xff0c;如下图#xff1a; 个人权限由三种#xff0c;如下图#xff1a; 2.权限级别 上面提供…1.MOSS中的权限结构 MOSS中的权限结构主要有三部分网站权限列表权限个人权限。 网站权限由18种如下图 列表权限由12种如下图 个人权限由三种如下图 2.权限级别 上面提供的就是基本的权限不同的权限组成MOSS中的权限级别。MOSS本身为我们提供了一些权限级别我们也可以根据自己的需求来自定义。 我们在自定义自己的权限级别的时候可以参考Moss本身的在他的基础上进行修改我们编辑现有的网站级别里面提供了一个复制权限级别的功能我们可以复制一份在这个基础进行修改来定义我们自己的权限级别。 3.下图展示了MOSS权限用户和权限对象之间的关系 4.使用SharePoint对象模型控制权限 主要使用下面几个类 SPUserSPGroupSPRoleDefinitionSPRoleAssignment。 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也加入了CheckPermissions方法来判断用户权限如果没有则丢一个异常出来这和以前的xxx.Permissions.Demand方法是一致的 5.角色定义分配继承 角色由两部分组成角色定义和角色分配。 角色定义或者说权限级别是与角色关联的权限列表。权限是 SharePoint 网站中唯一可控制的操作。例如具有 Read 角色的用户可以浏览网站中的页面并查看列表中的项目。与 Windows SharePoint Services 2.0 中不同在 Windows SharePoint Services 3.0 中从不直接使用权限来管理用户权限。所有用户权限和组权限都通过角色来管理。角色定义是与特定对象绑定的权限集合。角色定义界定于网站范围内例如Full Control、Read、Contribute、Design 或 Limited Access并且在网站内的各个位置具有相同的意义但其在同一个网站集内各网站之间的可能有所不同。角色定义也可以从父网站继承就像权限一样。 角色分配是角色定义、用户和组以及范围之间的关系例如一个用户可能是列表 1 上的读者而另一个用户是列表 2 上的读者。通过角色分配表示的关系是使 Windows SharePoint Services 安全管理基于角色的关键。所有权限都通过角色来管理您从不向用户直接分配权限而只分配定义完善、一致、含义丰富的权限集合角色定义。通过角色分配向角色定义中添加或从中移除用户和组以此来管理独有权限。 网站管理员可以使用“管理角色”页来自定义默认角色定义和创建其他自定义角色其中“管理角色”页列出了网站中可用的角色定义。 角色定义继承 Windows SharePoint Services 支持继承角色定义就像它支持继承权限那样而取消角色定义继承也要求取消权限继承。 每个 SharePoint 对象都可以拥有自己的权限集也可以从其父容器继承权限。Windows SharePoint Services 不支持部分继承对象将继承其父级的所有权限并且也可以拥有一些自己的权限。权限可以是独有的也可以是继承的。Windows SharePoint Services 不支持定向继承。例如对象只能从其父容器继承而不能从某些其他对象或容器继承。 当网站继承角色定义时这些角色是只读的就像继承的网站中的只读权限一样。用户将获得导航到拥有独有角色定义的父网站的链接。所有新网站包括拥有独有权限的新网站的默认设置都是从父网站继承角色定义。如果是独有权限则角色定义可以还原为继承的角色定义或编辑为本地角色定义。 根据下列禁止规则网站中的角色定义继承对权限继承产生影响 · 不能继承权限除非它还继承角色定义。 · 不能创建独有角色定义除非它还创建独有权限。 · 不能还原为继承的角色定义除非它也还原网站中的所有独有权限。现有权限依赖角色定义。 · 不能还原为继承的权限除非它也还原为继承的角色定义。网站的权限始终与网站的角色定义关联。 转载于:https://www.cnblogs.com/greeny/archive/2010/09/03/1816945.html