• 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中, 现在这个类还存在是为了向后兼容(现在的版本可以支持以前的版本数据). 现在应该使用SPRoleDefinitionSPRoleAssignment这两个类了.

    SPPermission:

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

    SPRights:

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

    参考资料

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

  • 相关阅读:
    计算机基础 python基础内容 变量以及基础数据类型
    初识函数--生成器
    初识函数--迭代器
    初识函数
    初识小数据池和深浅拷贝
    初识基础数据类型 dict,set
    初识基础数据类型 list,tuple
    初识基础数据类型 int,str,bool
    初识变量
    自定义协议解决粘包问题,阿里云部署,udp协议套接字,socketserver模块的使用
  • 原文地址:https://www.cnblogs.com/awpatp/p/1960884.html
Copyright © 2020-2023  润新知