Подтвердите имя пользователя 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 в режиме приложения)?

Это позволит вам аутентифицировать пользователей так, как вы ищете. Я нашел несколько статей для вас:

  1. http://www.c-sharpcorner.com/UploadFile/wojtekpiaseczny/AdamAuthentication10262006124310PM/AdamAuthentication.aspx
  2. http://www.15seconds.com/Issue/060525.htm\
  3. http://msdn.microsoft.com/en-us/library/aa302397.aspx
Другие вопросы по тегам