Как проверить разрешения для пользователя или группы в Sharepoint 2010 с помощью C #? - PullRequest
0 голосов
/ 08 марта 2012

В Sharepoint 2010, нажав "Site Actions"--> "Site Permission" --> "Check Permissin", вы можете получить разрешение пользователя. Как я могу сделать то же самое, используя sharepoint API в c #?

Ответы [ 2 ]

2 голосов
/ 06 апреля 2013

Метод "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
        }
    }
}
2 голосов
/ 09 марта 2012

Попробуйте SPWeb.GetUserEffectivePermissionInfo

Получает действующие разрешения, которые имеет указанный пользователь, и назначения ролей, связанных с этим пользователем, в этой области.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...