WedX - журнал о программировании и компьютерных науках

Как совместить аутентификацию Azure AD и аутентификацию Windows в приложении MVC 4?

У меня есть требование к дизайну приложения ASP.NET MVC 4 (.NET 4.6.1), размещенного на сервере компании (не в Azure), для выполнения следующих действий:

Проверьте, аутентифицирован ли пользователь с помощью аутентификации Windows.

а) Да - обозначить пользователя как «прошедшего проверку подлинности»

б) Нет - используйте OpenIdConnect (OWIN) для аутентификации с помощью Azure Active Directory.

После проверки подлинности используйте стандартные атрибуты [Authorize] в методах контроллера и т. Д. Я реализовал проверку подлинности Windows и Azure AD только отдельными приложениями MVC, но никогда вместе.

Я нашел несколько источников, описывающих, как смешивать аутентификацию Windows и Forms, но ни одного для этой комбинации.

Есть ли у кого-нибудь представление о том, как этого можно достичь?


  • У меня смутное воспоминание, что если вы сделаете файл | новый проект и создать новый проект asp.net mvc, мастер позволяет создать пустой проект с несколькими режимами проверки подлинности. 30.07.2016
  • Я проверил это, и в VS2015 Update 3 кажется, что вы можете выбрать только один режим аутентификации при создании проекта. 03.08.2016

Ответы:


1

У меня было подобное требование год назад, и мой подход был следующим:

Пользователи перенаправляются для ввода своих учетных данных AD (https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-how-to-configure-active-directory-authentication/)

Как только они успешно войдут в AD, вы получите токен.

Затем я вызываю API Azure AD от их имени, используя только что полученный токен. Я бы просто позвонил в конечную точку / me, которая вернет мне личные данные пользователя.

С помощью приведенного выше ответа мне просто нужно проверить, совпадает ли адрес электронной почты с адресом электронной почты, который был изначально запрошен.

Если он совпадает, это означает, что пользователь успешно прошел проверку на соответствие AD.

Затем вы можете продолжить и выдать этому пользователю токен или файл cookie для доступа к вашему приложению.

30.07.2016
  • Мое требование немного отличается от вашего. Когда пользователь посещает сайт, я хочу определить, аутентифицированы ли они уже в Windows, и если да, то НЕ отображать логин в Azure Ad. Если они не прошли проверку подлинности в Windows, выполните перенаправление на вход в Azure AD. У меня работает аутентификация Azure AD через OWIN. Теперь я пытаюсь понять, как использовать смешанный режим с аутентификацией Windows. 03.08.2016
  • Новые материалы

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


    Для любых предложений по сайту: [email protected]