Я разработал веб-приложение в asp.net/MVC/RAZOR/C#. Клиент хочет, чтобы пользователь заходил на этот сайт и не должен вводить логин/пароль, если они принадлежат определенному домену. Пользователи вне этого домена могут использовать стандартный экран входа в систему, вводя свой логин и пароль. Я никогда раньше не работал с Active Directory, и моя работа с IIS ограничена. Может кто-нибудь объяснить, как это настроить?Как ограничить использование веб-сайта в активном каталоге конкретной компании?
С этой ссылкой, http://www.iis.net/configreference/system.webserver/security/authentication/windowsauthentication, я решил, что мне нужно использовать параметр проверки подлинности Windows в IIS. Тем не менее, все это делает запрос пользователю на имя пользователя и пароль, когда они идут на сайт. В настоящий момент аутентификация настроена так, что аутентификация Windows включена с ответом «HTTP 401 Challenge», а включенным провайдером является «Negoiate: Kerberos». Как я могу избежать этого экрана входа в систему и передать имя пользователя, группу и домен пользователя Active Directory на веб-сайт?
Если я пройду экран входа в систему, я попытаюсь получить идентификатор пользователя с помощью WindowsIdentity.GetCurrent(). Однако это показывает «IIS APPPOOL» независимо от того, в кого я вхожу. Как получить имя пользователя Active Directory? (И группа)
Я добавил следующий код в моем web.config:
<system.web>
<authentication mode="Windows" />
<authorization>
<allow users="DOMAINNAME\*" />
<deny users="?"/>
</authorization>
...
Прежде чем я нашел ссылку IIS выше, я попробовал код, указанный на этих сайтах: http://www.codeproject.com/Tips/458039/Application-Login-through-Active-Directory-LDAP http://www.codeproject.com/Articles/5173/Web-based-Active-Directory-Login Они работают в аутентифицировать пользователя, но они требуют пароля, которого у меня нет. Я не мог найти способ получить пароль, что заставило меня посмотреть дальше и найти информацию об IIS. К сожалению, я не знаю, как его настроить.
Если бы кто-нибудь мог дать мне несколько простых шагов, как это сделать, я был бы признателен. Спасибо.