NTLM - это протокол, который веб-браузер будет связываться напрямую с веб-сервером (например, IIS) для аутентификации пользователя без участия вашего приложения. Это то, чего вы хотите избежать, потому что вы хотите представить «красивую» форму входа.
Итак, вам нужно: запросить имя пользователя и пароль в форме и самостоятельно проверить эти учетные данные в Active Directory. Вот статья Microsoft, описывающая, как это сделать в ASP.NET: http://support.microsoft.com/kb/326340/en-us
Однако, пожалуйста, помните несколько моментов:
- Не забывайте, что, в отличие от NTLM, пароли пользователей будут передаваться в виде открытого текста, если вы не используете SSL для публикации веб-сайта. Никогда не разрешайте пользователям вводить свой пароль AD на незашифрованном веб-сайте.
- Если некоторые из ваших пользователей были автоматически аутентифицированы (прозрачный вход в систему, вообще не запрашивается пароль), что должно быть поведением по умолчанию в сценарии интрасети, этим пользователям не понравится ваша форма входа, независимо от того, насколько она хороша выглядит ...
- Поведение по умолчанию в IIS6 будет таким, что будут защищены только страницы, созданные ASP.NET; поскольку вам необходимо настроить IIS для разрешения анонимных запросов к приложениям, любой пользователь может запрашивать статические файлы.