热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SharePoint跟权限有关的ObjectModelClass

SPRoleDefinition:定义了一个单个的角色,包括一个名字,描述,属性,和一系列的权限.SPRoleAssignment:为一个用户或用户组定义了该用户或组所有的角色分配

SPRoleDefinition:

定义了一个单个的角色, 包括一个名字, 描述, 属性, 和一系列的权限.

 

SPRoleAssignment:

为一个用户或用户组定义了该用户或组所有的角色分配.

 

SPRoleDefinitionBindingCollection:

定义了绑定在一个role assignment对象上的一个或多个角色的定义.

 

SPPrincipal:

代表着一个可以被赋予权限的用户或组.

 

这四个对象之间的关系可以用下面的代码来说明

using (SPSite oSite = new SPSite("http://localhost/"))
{using (SPWeb oWeb = oSite.OpenWeb()){SPRoleDefinitionCollection oWebRoleDefinitions = oWeb.RoleDefinitions;SPRoleAssignmentCollection oWebRoleAssignments = oWeb.RoleAssignments;if (!oWeb.HasUniqueRoleAssignments){Console.WriteLine("This web has inherited permission from its parent.");}else{foreach (SPRoleAssignment oRA in oWebRoleAssignments){SPPrincipal oPrincipal = oRoleass.Member;Console.WriteLine(oPrincipal.Name);foreach (SPRoleDefinition oRD in oRA.RoleDefinitionBindings){Console.WriteLine(" " + oRD.Name);Console.WriteLine(" " + oRD.Order);Console.WriteLine(" " + oRD.Hidden);Console.WriteLine(" " + oRD.Type);}}} SPRoleAssignment oNewRoleAssignment = new SPRoleAssignment(("yunzhang\\test1","test1@yunzhang.com","test1 display", "Notes test1");SPRoleDefinitionBindingCollection oNewRoleDefinitionBindings = oNewRoleAssignment.RoleDefinitionBindings;oNewRoleDefinitionBindings.Add(oWebRoleDefinitions["Role_Definition_Name"]);oWebRoleAssignments.Add(oNewRoleAssignment);}
}

 

SPUser:

代表着一个用户.

 

SPUserInfo:

这是一个结构,而不是一个类. 定义了一个当前并未被注册到内容数据库中的用户信息.

 

SPGroup:

代表这一个用户组.

 

过期对象

=========

SPRole:

代表一个站点用户组, 它存在于WSS 2.0中, 现在这个类还存在是为了向后兼容(现在的版本可以支持以前的版本数据). 现在应该使用SPRoleDefinition和SPRoleAssignment这两个类了.

 

SPPermission:

代表着可以赋予用户或组的权限. 与SPRole一样, 它的存在是为了向后兼容.

 

SPRights:

该API已经过期, 不再使用.

 

参考资料

http://msdn.microsoft.com/en-us/library/ms469194.aspx



推荐阅读
  • Python自动化测试入门:Selenium环境搭建
    本文详细介绍如何在Python环境中安装和配置Selenium,包括开发工具PyCharm的安装、Python环境的设置以及Selenium包的安装方法。此外,还提供了编写和运行第一个自动化测试脚本的步骤。 ... [详细]
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
  • 主板IO用W83627THG,用VC如何取得CPU温度,系统温度,CPU风扇转速,VBat的电压. ... [详细]
  • 本文介绍了如何使用JavaScript的Fetch API与Express服务器进行交互,涵盖了GET、POST、PUT和DELETE请求的实现,并展示了如何处理JSON响应。 ... [详细]
  • 本文详细介绍了在 Windows 7 系统中配置 Nginx 1.10.3 和 PHP 7.1.1 NTS 的步骤,包括修改 PHP 配置文件、处理依赖项以及创建批处理脚本启动和停止服务。重点解释了如何解决常见的运行时错误。 ... [详细]
  • ElasticSearch 集群监控与优化
    本文详细介绍了如何有效地监控 ElasticSearch 集群,涵盖了关键性能指标、集群健康状况、统计信息以及内存和垃圾回收的监控方法。 ... [详细]
  • 优化SQL Server批量数据插入存储过程的实现
    本文介绍了一种改进的SQL Server存储过程,用于生成批量插入语句。该方法不仅提高了性能,还支持单行和多行模式,适用于SQL Server 2005及以上版本。 ... [详细]
  • 访问一个网页的全过程
    准备:DHCPUDPIP和以太网启动主机,用一根以太网电缆连接到学校的以太网交换机,交换机又与学校的路由器相连.学校的这台路由器与一个ISP链接,此ISP(Intern ... [详细]
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • 在尝试使用C# Windows Forms客户端通过SignalR连接到ASP.NET服务器时,遇到了内部服务器错误(500)。本文将详细探讨问题的原因及解决方案。 ... [详细]
  • MySQL 基础操作与优化
    本文详细介绍了 MySQL 的基础连接、数据库及表的操作,涵盖创建、修改、删除等常用命令,并深入解析了数据类型、列属性、索引、外键和存储引擎等内容。 ... [详细]
  • Python + Pytest 接口自动化测试中 Token 关联登录的实现方法
    本文将深入探讨 Python 和 Pytest 在接口自动化测试中如何实现 Token 关联登录,内容详尽、逻辑清晰,旨在帮助读者掌握这一关键技能。 ... [详细]
  • 通常情况下,修改my.cnf配置文件后需要重启MySQL服务才能使新参数生效。然而,通过特定命令可以在不重启服务的情况下实现配置的即时更新。本文将详细介绍如何在线调整MySQL配置,并验证其有效性。 ... [详细]
  • 微信小程序:授权登录与手机号绑定
    本文详细介绍了微信小程序中用户授权登录及绑定手机号的流程,结合官方指引和实际开发经验,提供了一套完整的实现方案,帮助开发者更好地理解和应用。 ... [详细]
  • 深入解析ESFramework中的AgileTcp组件
    本文详细介绍了ESFramework框架中AgileTcp组件的设计与实现。AgileTcp是ESFramework提供的ITcp接口的高效实现,旨在优化TCP通信的性能和结构清晰度。 ... [详细]
author-avatar
幸福taishanvv_660
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有