Sharepoint 2007 权限开发(一)

29 篇文章 0 订阅

众所周知,MOSS是应用在WSS基础上的,所有针对MOSS开发难免要对WSS要有所了解,精通当然最好。在此B/S架构的软件中,权限是非常重要的一部分,在MOSS中也是如此。在MOSS中,管理权限完成是按照WSS的基本架构来处理权限的。安全授权管理由安全元素构成如下:

安全元素名称拥有什么
用户权限
域组权限级别
SharePoint组安全对象

  安全元素的关系图如下:

  [MOSS开发]:WSS v3授权

  安全元素成员的定义:

  1:用户:任何一个拥有用户帐户的人,用户可以直接被授予WSS V3中对一个安全对象的访问权。它是安全元素中最底层也是必须的元素。在定义一个站点时会创建一个站点所有者,此时这个站点所有者就是一个用户。

  2:域组: 它可以是一个微软活动目录安全组,也可以是别处一个自定义系统定义的组。

  3:SharePoint组:它对于站点来说是一个全局的定义,创建于站点集层,任何一个站点都可以使用它,它是安全对象的最高层,同时包含用户和域组对象。WSS v3自带有三个默认SharePoint组,它们分别是:

  

SharePoint组名:权限级别
所有者Full Control(完全控制)
成员Contribute(分发)
访问者Read(只读)

  权限的管理:如果单纯是用户身份,那么必须对它进行单独的设置,这种用户最好不要太多,能避免最好完全避免,因为这样的用户一旦多了,对它们进行权限分配的工作量会非常大。此时的解决方案就是把这些用户组成一个组,所有的组成员的权限都是统一的组来分配,这样减少重复工作量。而SharePoint组来管理权限的话会比通过域组或者是个人用户管理权限简单的多。它能够将域组和个人用户结合起来。WSS V3 可以针对站点集,站点,列表,文件夹等设定专门的权限,每一个对象默认从它的父对象继承权限,WSS v3提供的安全对象等级关系图如下:

  [MOSS开发]:WSS v3授权

  安全元素对象关系图说明:如上图所示,每一个安全对象都有一个等级,这个等级可以通过权限继承记任意一个父对象的权限设为子对象的权限,同时也允许为一个对象指定特定的权限而不用考虑父级权限。上图的级别关系并不是最全的,只是简单的列了几层关系,通常,一个等级都有可能会扩展为更多的层。上面说到了权限继承,同时也允许我们为一个对象使用禁止权限继承。此时安全对象不从父级对象继承权限,而是有自己的专门权限。

  什么是权限级别和权限?

  这两个名字看起来都差不多,都是让用户或者是域组拥有相应的权限,WSS V3通过权限级别和权限控制每个用户和组对安全对象可执行的行为。但它们又有本质的不同:权限级别是由一组权限定义的,而每一个权限级别又有多个权限写之相联,这些权限包含:

  

权限名称:功能:
完全控制包含了所有的权限,允许用户对站点执行任何行为,它不能被更改或者是删除
设计具有编辑功能
分发查看,编辑功能
读取查看功能
受限访问当用户或者是组拥有访问权限时,可以访问,但不能访问父对象,这是自动指派的,不能设置或者是修改

  每一个权限级别都由多个权限组成,这些权限按列表,站点和个人权限分类构成各权限组,如下图所示:

  [MOSS开发]:WSS v3授权

  管理权限:WSS V3 的权限管理由三部分构成:

  1:用户和组;

  2:安全对象;

  3:权限级别和权限。

  管理权限结构示意图如下:

  [MOSS开发]:WSS v3授权

  第一:选择使用默认权限级别或者是组或者自定义创建权限级别;

  第二:为站点添加用户和SharePoint组,并组用户和域组分配第一步中已经定义好的权限级别。

  第三:如果对象需要专门的权限,则不用管父级权限,不过最好避免这种方式。

  WSS V3中安全对象所用到的命名空间如下:

  Miscrosoft.SharePoint.SPRoleAssignment

  Miscrosoft.SharePoint.SPRoleAssignmentCollection

  Miscrosoft.SharePoint.DefinitionCollection

  Miscrosoft.SharePoint.Definition

  Miscrosoft.SharePoint.SPBasePermissions

  Miscrosoft.SharePoint.SPRoleDefinitionBindingCollection

  安全元素的相关编码:

  1:权限级别:权限级别是在网站范围内定义的权限命名集。可以使用 WSS 对象模型或通过网站集所有者能够访问的WSS 管理页,创建属于自己的自定义权限级别。在对象模式中的权限级别又称为角色定义。它的集合可以通过SPWeb对象的SPRoleDefinitionCollection来进行访问,第一个权限级别又存在于SPRoleDefinition对象中。这个对象包含权限级别名称,描述,及权限,权限存放于SPBasePermission对象中。可以使用 SPRoleAssignment 对象为外部用户或组分配权限级别。例如,此处我将内置的 Contribute 权限级别分配给登录名为 beyondsoft.comjiangmin 的 Windows域用户:

SPWebsite=SPContext.Current.Web;
      //取得权限级别为Contribute的权限级别
      SPRoleDefinitionrole=site.RoleDefinitions["Contribute"];
      SPRoleAssignmentroleAssignment;
      //用户
      stringsUserID=@"beyondsoft.comjiangmin";
      //邮箱
      stringsEmail="jiangmin@beyondsoft.com";
      //名称
      stringsName="min.jiang";
      //批注
      stringsNote="相关注释";
      roleAssignment=newSPRoleAssignment(sUserID,sEmail,sName,sNote);
      roleAssignment.RoleDefinitionBindings.Add(role);
      //增加用户
      site.RoleAssignments.Add(roleAssignment);

  2:用户和组:SPWeb 对象包含两个 SPGroup 对象集合,分别为 Groups 和 SiteGroups。Groups 集合包括当前网站中所有已直接分配权限的组,而 SiteGroups 集合则是 Groups 集合的超集,其中包括所有在当前网站集内创建的组。创建一个新的组,可以调用 SiteGroups 集合的 Add 方法。下面是新建一个名为 newGroup 的组并在当前网站内为其分配内置 Contribute 权限级别的示例。

SPWebsite2=SPContext.Current.Web;
      SPUsercurrentUser=site.CurrentUser;
      //创建一个新的组
      //组名
      stringsGroupName="newGroup";
      //所有者
      SPMemberowner=currentUser;
      //相关描述
      stringsDesc="newGroup创建于"+DateTime.Now.ToString();
      site2.SiteGroups.Add(sGroupName,owner,currentUser,sDesc);
      //分配权限
      SPGroupNewGroup=site2.SiteGroups["newGroup"];
      SPRoleAssignmentroleAssignment2=newSPRoleAssignment(NewGroup);
      SPRoleDefinitionpermLevel=site.RoleDefinitions["Contribute"];
      roleAssignment2.RoleDefinitionBindings.Add(permLevel);
      site.RoleAssignments.Add(roleAssignment2);

  组创建完毕后,将用户添加为组的成员。SPGroup 对象提供一个 AddUser 方法,该方法接受一个 SPUser 对象。

//为新组添加用户
      NewGroup.AddUser(currentUser);

  总结:本文分析了WSS v3中的授权管理部分的各组成元素,结构图,安全对象的命名空间以及针对安全元素的相关编码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SharePoint 是一种用于创建、共享和管理组织内部网站和内容的平台。它可以帮助团队协作、文档管理、数据分享和工作流程自动化。 要入门 SharePoint,以下是一些建议: 1. 了解 SharePoint 的基本概念和术语:熟悉 SharePoint 平台的基本概念,如网站、列表、库、页面和权限等。 2. 注册 SharePoint 网站:注册一个 SharePoint 网站,这是你创建和管理内容的地方。可以尝试使用 Microsoft 365 订阅或 SharePoint Online 进行注册。 3. 探索 SharePoint 网站:浏览你的 SharePoint 网站,了解其组织结构和功能。探索不同的模板和页面布局,以获取更多想法。 4. 创建列表和库:使用列表和库来组织和存储内容。例如,创建一个文档库来存储文件,或创建一个任务列表来跟踪团队的工作。 5. 学习权限管理:了解如何设置和管理用户权限,以确保只有授权人员可以访问和编辑内容。 6. 配置工作流程:利用 SharePoint工作流程功能来自动化业务过程。学习如何创建和配置工作流程,以提高生产力和效率。 7. 使用 SharePoint 应用程序:探索 SharePoint 应用程序,这些应用程序可以增强和扩展 SharePoint 的功能。例如,Power Automate 可以帮助你创建自定义工作流程,Power Apps 可以帮助你构建自定义应用程序。 8. 学习 SharePoint 开发:如果你具有开发经验,可以学习 SharePoint 开发来自定义和扩展 SharePoint 的功能。了解 SharePoint Framework (SPFx) 和 SharePoint Designer 等工具。 以上是入门 SharePoint 的一些建议。探索不同的功能和实践,逐步熟悉平台,并根据你的需求进行定制和配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值