Программно проверить разрешения для группы sharepoint - PullRequest
1 голос
/ 01 июля 2010

Как я могу проверить, имеет ли указанная группа определенное разрешение для элемента?Я знаю, что есть такие методы, как DoesUserHavePermissions () для элемента, но как насчет групп?

1 Ответ

2 голосов
/ 01 июля 2010

Не проверенный код, но что-то вроде этого.

Это работает как для групп, так и для пользователей, а также для всего с разрешениями (элементы, списки, сети и т. Д.)

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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...