如何使用C#检查Sharepoint 2010中用户或组的权限?

如何使用C#检查Sharepoint 2010中用户或组的权限?,c#,sharepoint-2010,C#,Sharepoint 2010,在Sharepoint 2010中,单击“站点操作”->“站点权限”->“检查权限”,您可以按用户获取权限。如何在c#中使用sharepoint API做同样的事情?试试看 获取指定用户拥有的有效权限以及在此范围内与此用户相关的角色分配 试一试 获取指定用户拥有的有效权限以及在此范围内与此用户相关的角色分配 “GetUserEffectivePermissionInfo”方法仅适用于服务器用户。 如果权限需要查找组,只需执行以下操作: using (SPSite site = new SPSit

在Sharepoint 2010中,单击
“站点操作”->“站点权限”->“检查权限”
,您可以按用户获取权限。如何在c#中使用sharepoint API做同样的事情?

试试看

获取指定用户拥有的有效权限以及在此范围内与此用户相关的角色分配

试一试

获取指定用户拥有的有效权限以及在此范围内与此用户相关的角色分配

“GetUserEffectivePermissionInfo”方法仅适用于服务器用户。 如果权限需要查找组,只需执行以下操作:

using (SPSite site = new SPSite("/"))
{
    using (SPWeb web = site.OpenWeb())
    {
        SPGroup spGroupItem = web.Groups["GroupName"];
        SPRoleAssignment oRoleAssignment = web.RoleAssignments.GetAssignmentByPrincipal(spGroupItem);

        foreach (SPRoleDefinition inRole in oRoleAssignment.RoleDefinitionBindings)
        {
            //inRole.id //inRole.Name
            //1073741829 //limited access
        }
    }
}
“GetUserEffectivePermissionInfo”方法仅适用于服务器用户。 如果权限需要查找组,只需执行以下操作:

using (SPSite site = new SPSite("/"))
{
    using (SPWeb web = site.OpenWeb())
    {
        SPGroup spGroupItem = web.Groups["GroupName"];
        SPRoleAssignment oRoleAssignment = web.RoleAssignments.GetAssignmentByPrincipal(spGroupItem);

        foreach (SPRoleDefinition inRole in oRoleAssignment.RoleDefinitionBindings)
        {
            //inRole.id //inRole.Name
            //1073741829 //limited access
        }
    }
}