Аутентификация форм ASP.NET только с именем пользователя - PullRequest
0 голосов
/ 13 октября 2008

У меня в руках какая-то гибридная ситуация. Я пишу интранет asp.net веб-приложение. Я не хочу использовать полноценную проверку подлинности Windows, потому что в Active Directory не настроены надлежащие группы для проверки подлинности пользователей просто на основании того, в какую группу они входят. До сих пор я создавал базу данных членства и вручную проверял подлинность пользователей на основе их логина NT. Приложение становится все более сложным, и я смотрю на использование поставщиков членства и ролей для аутентификации пользователей. Вот моя проблема: я хочу иметь возможность аутентифицировать пользователей только на основе их NT, но я не хочу использовать аутентификацию Windows. Я хочу написать своего собственного провайдера, чтобы подключиться к провайдерам членства и ролей и использовать проверку подлинности с помощью форм, но сделать ее прозрачной. Основываясь на таблице «Пользователи», я хочу иметь возможность аутентифицировать пользователя или перенаправлять его на основе только его NT. Возможно ли это, или я застрял в написании собственной небольшой основы для достижения этой цели? Я хотел бы использовать возможности провайдера, если это вообще возможно.

1 Ответ

7 голосов
/ 14 октября 2008

Настройте ваш web.config для использования проверки подлинности с помощью форм.
Убедитесь, что в IIS включена встроенная проверка подлинности (может потребоваться также отключить анонимный доступ). Это позволит вам получить имя NT пользователя.

Вы можете получить имя NT пользователя с помощью:

  Request.ServerVariables["LOGON_USER"]  

Вы можете войти в систему, пароль не требуется, с помощью:

  FormsAuthentication.RedirectFromLoginPage( userName, false ); 
...