Мне была поручена работа с SharePoint, включающая следующий сценарий.
Пользователи находятся в группе активных каталогов с разрешениями, которые в некоторых случаях напрямую связаны с группой AD, а в некоторых случаях группа AD назначается группе SharePoint.
Мой вопрос: как я могу проверить разрешения SPUser, если пользователь не назначен напрямую группе / разрешению, но фактически находится в группе Active Directory? Мне нужно проверить уровень разрешений пользователя.
Например:
Пользователь: UserX
Принадлежит группе AD «SHAREPOINT_POWER_USERS», и эта группа имеет разрешения «Участие» и принадлежит группе SharePoint «Группа поддержки ИТ».
Был бы способ программно получить это, так как пользователь не существует в привилегированных разрешениях или в группе sharepoint? Могу ли я получить доступ к этому, выполнив что-то вроде:
//Pseudocode to access groups
SPUser user = SPContext.Current.Web.CurrentUser;
SPGroupCollection collection = user.Groups;
Пожалуйста, дайте мне знать, как это работает.
Спасибо.