Заявки групп SharePoint через Azure Active Directory
Мы используем Azure Active Directory и Azure Access Control Services (ACS) для аутентификации пользователей в экземпляре SharePoint 2010. Пользователи и группы в Azure AD синхронизируются из локального каталога AD с помощью Azure AD Connect.
Мы почти все работаем для аутентификации пользователей, но неясно, как управлять доступом к SharePoint с помощью групп в Azure AD. Мы нашли способ разрешить прохождение заявки по группам в соответствии с этими инструкциями, но пропущен идентификатор объекта группы (например, 244728b5-8b9e-4e2f-8703-9853366cd431), что бессмысленно в SP.
Есть ли способ передать имя группы или мы должны использовать идентификатор группы? Есть ли лучший способ управления групповым доступом в SP при аутентификации в Azure AD?
Спасибо за помощь.
1 ответ
Вы должны использовать идентификатор группы. Чтобы увидеть это,
- перейдите на портал управления лазурью https://manage.windowsazure.com/
- выберите активный каталог из списка услуг слева
- нажмите на свой активный каталог из списка
- нажмите на "группы" в меню вверху
- нажмите на группу, для которой вы хотите увидеть идентификатор в списке
- нажмите "Свойства" в меню вверху
- Скопируйте поле ObjectID из списка свойств
в своем коде вы можете объявить строковую константу, используя objectID
private static string myGroupName = "xxxxxxxx-your-objectID-xxxxxxxxxx";
Затем просто используйте "myGroupName", чтобы сравнить вашу группу со списком групповых заявок.
var isMember = IsGroupMember(myGroupName);
Вот как можно посмотреть на претензии:
public static bool IsGroupMember(string groupName)
{
var principal = ClaimsPrincipal.Current;
// Look for the groups claim
var supportClaim = principal.Claims.FirstOrDefault(
c => c.Type == "groups" &&
c.Value.Equals(groupName, StringComparison.CurrentCultureIgnoreCase));
return null == supportClaim ? false : true;
}