как выполнить аутентификацию Windows в asp.net приложение, использующее удаленный домен / AD? SSO

#asp.net #authentication #active-directory #single-sign-on

#asp.net #аутентификация #active-directory #единый вход

Вопрос:

мой ASP.NET решение (webform) запущено на наших локальных серверах компании. новый клиент хочет автоматического входа в систему, когда он обращается к этому веб-приложению с ПК в домене своей удаленной компании. как? Я слышал, что некоторые сделали это.

это похоже на то, что когда IIS и клиентский браузер находятся в одном домене, мы можем использовать «проверку подлинности Windows» в IIS. Но здесь домен с пользователями находится в удаленном домене, местоположение. внутренняя сеть другой компании.

Я видел классы LdapConnection / NetworkCredential. Но там я должен передать имя пользователя и пароль. Хорошо, но не в моем случае.

Я предполагаю, что в моем веб-приложении будет создан некоторый код, но, возможно, необходимо настроить еще несколько между моим IIS и сервером домена удаленных клиентов. Клиент согласен с этим, мы просто не знаем, что делать. возможно, нам здесь нужна не «проверка подлинности Windows». Цель состоит в том, чтобы пользователи на ПК в этом удаленном домене проходили аутентификацию в моем веб-приложении без ввода user / pasword.

Надеюсь, вопрос ясен. Спасибо за любую помощь. В некоторых местах я вижу «Службы федерации Active Directory», но не знаю об этом.

Ответ №1:

Конечно, можно использовать «Службы федерации Active Directory» для достижения желаемого, однако это ни в коем случае не тривиальное упражнение.

Все шаги, необходимые для правильной настройки / развертывания ADFS (4 сервера, несколько балансировщиков нагрузки, специальные сертификаты и многие другие), а затем изменения, необходимые для вашего asp.net приложения, слишком обширны, чтобы когда-либо обращаться непосредственно к вопросу переполнения стека.

Если вы хотите узнать больше о ADFS и о том, как ее реализовать в asp.net приложение, вы должны начать с этих статей technet.

ADFS 2.0

ADFS 3.0

Внедрение утверждений в Asp.Net

Сказав это, если вы просто хотите реализовать какую-то более удобную форму аутентификации, рассмотрите возможность использования Azure B2B или другой облачной системы идентификации. Их гораздо проще безопасно реализовать, и, вероятно, в долгосрочной перспективе они обойдутся вам дешевле.

Комментарии:

1. Спасибо за хорошие отзывы. Я изучу эти ссылки. Они выглядят хорошо.