Заявки групп 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;
}
Другие вопросы по тегам