SharePoint跟权限有关的Object Model Class
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已经过期, 不再使用.
参考资料
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2010-02-22 深入解析SharePoint Content Deployment and Migration API 之三
2010-02-22 深入解析SharePoint Content Deployment and Migration API 之二
2010-02-22 深入解析SharePoint Content Deployment and Migration API 之一
2010-02-22 SharePoint的IIS Application Pool的域账户修改过名字, 报错
2010-02-22 不要用stsad.exe来备份还原大小超过15G的站点集
2010-02-22 SQL服务无法启动, 说是logon fail
2010-02-22 导致SharePoint发生Timeout的几处门槛设置