Ну, я думаю, у вас есть несколько вариантов здесь, но вам придется внимательно рассмотреть реализацию.
Основная проблема с использованием аутентификации в активном каталоге заключается в том, что по умолчанию учетные данные пользователя могут успешно передаваться только между двумя компьютерами. В случае веб-приложения это означает, что учетные данные пользователя могут перемещаться между компьютером конечного пользователя и веб-сервером, но не дальше.
Однако это поведение можно изменить с помощью проверки подлинности Kerberos, которая, по сути, позволяет передавать билет проверки подлинности между всеми доверенными компьютерами в цепочке (т. Е. С веб-сервера на сервер приложений в базу данных, для пример). Успешная настройка Kerberos может быть чрезвычайно сложной, особенно если у вас не было опыта работы с ним.
Я думаю, что вам лучше всего настроить свой веб-сайт так, чтобы он принимал только аутентификацию Windows. Это означает, что IIS выполнит проверку пользователя по активному каталогу. В вашем приложении ASP.Net вы можете получить доменное имя авторизованного пользователя из Request.ServerVariables ("logon_user").
Теперь вы можете войти в систему с помощью FormsAuthentication, например, без необходимости повторного входа в систему.
Затем вы можете либо внедрить поставщика членства в SQL Server, либо создать свой собственный интерфейс к базе данных для дальнейшей проверки пользователя и хранения дополнительной информации. Мы использовали оба механизма, но я предпочитаю самодельный из-за дополнительного контроля, который он предоставляет, и в этом случае вам не понадобится много функций (сброс пароля, восстановление и т. Д.), Которые предлагает поставщик членства .