热门标签 | 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



推荐阅读
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 利用 Calcurse 在 Linux 终端高效管理日程与任务
    对于喜爱使用 Linux 终端进行日常操作的系统管理员来说,Calcurse 提供了一种强大的方式来管理日程安排、待办事项及会议。本文将详细介绍如何在 Linux 上安装和使用 Calcurse,帮助用户更有效地组织工作。 ... [详细]
  • JUnit下的测试和suite
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 入门指南:使用FastRPC技术连接Qualcomm Hexagon DSP
    本文旨在为初学者提供关于如何使用FastRPC技术连接Qualcomm Hexagon DSP的基础知识。FastRPC技术允许开发者在本地客户端实现远程调用,从而简化Hexagon DSP的开发和调试过程。 ... [详细]
  • 理解浏览器历史记录(2)hashchange、pushState
    阅读目录1.hashchange2.pushState本文也是一篇基础文章。继上文之后,本打算去研究pushState,偶然在一些信息中发现了锚点变 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • 如何在PHP中安装Xdebug扩展
    本文介绍了如何从PECL下载并编译安装Xdebug扩展,以及如何配置PHP和PHPStorm以启用调试功能。 ... [详细]
  • 本文详细介绍了在Linux操作系统上安装和部署MySQL数据库的过程,包括必要的环境准备、安装步骤、配置优化及安全设置等内容。 ... [详细]
  • 在尝试通过自定义端口部署Spring Cloud Eureka时遇到了连接失败的问题。本文详细描述了问题的现象,并提供了有效的解决方案,以帮助遇到类似情况的开发者。 ... [详细]
  • 本文详细介绍了Elasticsearch中的分页查询机制,包括基本的分页查询流程、'from-size'浅分页与'scroll'深分页的区别及应用场景,以及两者在性能上的对比。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 本文深入探讨了Go语言中的接口型函数,通过实例分析其灵活性和强大功能,帮助开发者更好地理解和运用这一特性。 ... [详细]
  • Web动态服务器Python基本实现
    Web动态服务器Python基本实现 ... [详细]
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • 构建Elasticsearch环境与课程索引
    本章节详细介绍了如何在开发环境中搭建Elasticsearch (ES) 环境,包括安装、启动服务端以及创建索引和映射的具体步骤。对于旧版ES环境的清理方法也进行了说明。 ... [详细]
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社区 版权所有