Подтвердите имя пользователя NT + пароль в ASP.NET
Я хочу иметь возможность аутентифицировать комбинацию имени пользователя и пароля NT через сайт ASP.NET, полностью отделенный от имени пользователя, которое распознается с помощью Request.ServerVariables("LOGON_USER") и т.п. Существуют учетные записи, которые будут иметь права полностью переопределять других, но пользователям все равно придется вводить правильный пароль для этого.
Я попытался использовать функцию LoginUser из advapi32.dll, но он пытается только войти в систему для локальной машины (которая будет сервером приложений). Есть ли что-то, что будет работать для проверки сети в целом?
2 ответа
Вы можете пройти аутентификацию в Active Directory.
Приложение ASP.NET может использовать проверку подлинности с помощью форм, чтобы разрешить пользователям проходить проверку подлинности в Active Directory с использованием облегченного протокола доступа к каталогам (LDAP). После проверки подлинности и перенаправления пользователя вы можете использовать метод Application_AuthenticateRequest файла Global.asax для хранения объекта GenericPrincipal в свойстве HttpContext.User, которое передается по запросу.
http://msdn.microsoft.com/en-us/library/ms180890(VS.80).aspx
Задумывались ли вы об использовании LDAP и ADAM (Active Directory в режиме приложения)?
Это позволит вам аутентифицировать пользователей так, как вы ищете. Я нашел несколько статей для вас: