Как получить список групп, с которыми связан пользователь в Azman?
Я могу получить роли, связанные с аутентифицированным пользователем, но не с группами. Есть ли способ получить группы
WindowsIdentity userIdentity = HttpContext.Current.User.Identity as WindowsIdentity;
AzAuthorizationStoreClass azManStore = new AzAuthorizationStoreClass();
string storeConnectionString = ConfigurationManager.ConnectionStrings["<CONN STRING>"].ConnectionString;
azManStore.Initialize(0, storeConnectionString, null);
IAzApplication azApp = azManStore.OpenApplication("<APP NAME>", null);
ulong token = (ulong)userIdentity.Token;
IAzClientContext ctx = azApp.InitializeClientContextFromToken(token, null);
object roles = ctx.GetRoles(String.Empty);
1 ответ
Я не нашел способ. В моем проекте у нас было одно требование для этого, и в итоге мы выполнили упрощенную реализацию, которая прошла через каждую группу и проверила, является ли пользователь участником. Проблема этого подхода заключается в том, что он игнорирует членство через группы в группах, а также членство через пользователя, являющегося членом группы AD, которая является членом группы AzMan. Вы могли бы расширить решение для этих сценариев, но в конечном итоге я думаю, что когда вы начнете задавать подобные вопросы, вы, возможно, идете по пути безопасности на основе ролей с Azman (который является безопасностью на основе операций (или задач)).