#asp.net-mvc #azure #model-view-controller #azure-active-directory
#asp.net-mvc #azure #модель-представление-контроллер #azure-active-directory
Вопрос:
Что я хочу: я хочу использовать мою собственную страницу входа, чтобы попытаться пройти аутентификацию в Azure AD, чтобы убедиться, что у них есть доступ, затем там после проверки, существуют ли они в базе данных (таблица AspNetUsers). Это означало бы, что пользователи должны быть зарегистрированы для использования приложения, если они существуют в Azure AD (которое будет синхронизировано с локальной рекламой).
Что я обнаружил: Кажется, что это невозможно и что он всегда будет перенаправляться на azure login screen
(если я могу это так назвать) и после аутентификации перенаправит обратно в веб-приложение и выполнит вход. Это правда, или есть способ сделать это так, как я хочу? Я знаю, что это возможно, если веб-приложение находится в той же сети и работает с локальным AD.
В прошлом я использовал Azure ADB2C, используя следующий код, но понятия не имею, как я могу использовать свой собственный экран входа, и в то время я также не мог найти ничего, что позволяло бы мне использовать мой собственный экран входа для передачи таких сведений, как имя пользователя и пароль, в Azure AD для аутентификации:
public void SignUpSignIn(string type)
{
//Logout();
TempData["SignInOutType"] = type;
// Use the default policy to process the sign up / sign in flow
if (!Request.IsAuthenticated)
{
try
{
HttpContext.GetOwinContext().Authentication.Challenge();
return;
}
catch (Exception ex)
{
}
}
Response.Redirect("/");
}
Буду признателен за любую помощь! Спасибо!
Редактировать
Я только что заметил, что если вы используете Azure AD Premium 1 или 2, то вы можете создать пользовательскую страницу входа. Кто-нибудь использовал это и как далеко вы можете это настроить? Я видел видео ADB2C, где вы, очевидно, можете указать свою страницу, css и поля, и тогда страница входа будет выглядеть точно так же, как ваша страница — кто-нибудь использовал это раньше?
Ответ №1:
Я бы рекомендовал не пытаться пропустить страницу входа в MS. Есть способ сделать это, но он не будет работать для пользователей с MFA или из встроенной AD и т.д.
Если вы хотите определить подмножество пользователей, имеющих доступ к приложению, я предлагаю вам найти свое приложение в разделе Корпоративные приложения в разделе управление Azure AD на портале Azure. Оттуда вы переходите в Свойства и устанавливаете требуемое назначение пользователя? на Да. Теперь вы можете назначать пользователей на вкладке «Пользователи и группы».
Другой способ — добавить шаг проверки после аутентификации пользователя, свериться с вашей базой данных в это время и при необходимости выполнить проверку подлинности неудачно.
Комментарии:
1. Спасибо за ответ. Я прочитал то же самое о странице входа в MS, но мой клиент указал определенный внешний вид, и я хотел бы сделать все возможное, чтобы придерживаться этого. Хм, я немного разочарован тем, что MS не разрешила что-то подобное. Затем мне просто нужно будет выполнить 2 входа (один для AAD, а другой для веб-приложения) или просто позволить AAD быть единственным входом. По крайней мере, если клиент недоволен, я могу с уверенностью сказать, что это из соображений безопасности. Тем не менее, спасибо за вашу помощь
2. Я только что прочитал кое-что о настройке вашей страницы входа на портале Azure (каталог AD) — я обновил свой пост, пожалуйста, ознакомьтесь с ним и дайте мне знать, был ли у вас какой-либо опыт работы с этим?
3. Это функция фирменного стиля, которая позволяет изменять некоторые изображения и текст на странице входа вашей организации. Это ограничено, но позволяет, например, изменить фон и логотип.
4. Я пометил ваш ответ как принятый, поскольку все, что вы сказали, в точности соответствует результатам моего исследования. Не похоже, что можно сделать что-то еще — Спасибо за попытку помочь.