以编程方式检查sharepoint组的权限

时间:2010-07-01 11:15:40

标签: sharepoint

如何检查指定的群组是否具有某个项目的特定权限? 我知道在项目上有类似DoesUserHavePermissions()的方法,但是组呢?

1 个答案:

答案 0 :(得分:2)

未经测试的代码,但是类似的东西。

这适用于群组和用户,也适用于具有权限的所有内容(项目,列表,网页等)

public static bool DoesPrincipalHavePermission(ISecurableObject @object, SPPrincipal principal, SPRoleDefinition role)
{
      var assignment = @object.RoleAssignments.GetAssignmentByPrincipal(principal);
      if (assignment == null || assignment.RoleDefinitionBindings.Count < 1)
           return false;

      foreach (SPRoleDefinition r in assignment.RoleDefinitionBindings)
      {
          if (r.BasePermissions == role.BasePermissions)
              return true;
      }

      return false;
}