У меня есть небольшое приложение, которое я пишу на PHP, где мне нужно проверить, назначен ли данный пользователь назначенной роли. Я использую Azure App Service с аутентификацией службы приложений, которая позволяет аутентифицировать пользователей в активном каталоге azure. В рамках приложения мне нужно получить имя пользователя, отображаемое имя пользователя и если оно входит в одну или несколько из трех групп безопасности, которые они могут быть частью определения того, какие уровни доступа у них есть в приложении.Получить роли пользователя Azure AD в PHP
Мне нужно сделать это таким образом, поскольку я не могу управлять ролями в приложении, вместо этого его нужно управлять с помощью активных групп безопасности. Я ищу метод, который является родным для службы azure app (как в случае, если это возможно, не делает отдельный поиск LDAP, если это возможно). Я знаю, как извлечь аутентифицированное имя пользователя из данных заголовка, отправленных в приложение (HTTP_X_MS_CLIENT_PRINCIPAL_NAME
), однако я не знаю, как я могу получить полное отображаемое имя и как проверить, назначены ли пользователю определенные роли. Я уже выдал копию всего суперфайлового массива php $_SERVER
, чтобы увидеть, есть ли там данные, которые я ищу, но я не могу найти их там.
Для целей этого вопроса сделать следующие предположения ...
[email protected] назначается роли Role1, роль2, role3
[email protected] назначен роль role3 только
Поэтому, если каждый пользователь регистрируется, мне нужно иметь возможность показать свое полное имя на основе их записи в AD и должны быть в состоянии проверить, являются ли они частью групп безопасности role1
role2
и/или role3
.
Я бы опубликовал пример моего кода, но я понятия не имею, с чего начать с получения этих данных, поэтому единственным кодом, который я до сих пор является тестовым блоком, чтобы напечатать все значения $_SERVER
на странице для целей тестирования.
Благодаря