На сайте нашего клиента в настоящее время используется проверка подлинности с помощью форм, поэтому пользователям необходимо перейти на страницу входа в систему, чтобы ввести свое имя пользователя и пароль. Существуют пользовательские поставщики членства и ролей, которые получают доступ к базе данных через NHibernate для получения пользователей и ролей.
Клиент теперь хочет, чтобы пользователи из локальной Active Directory автоматически входили в систему. Сведения о пользователях и ролях по-прежнему следует получать из той же базы данных, что и раньше. В таблицу Users будет добавлено новое поле, содержащее имя пользователя Active Directory, чтобы я мог сопоставить его.
Если текущий пользователь не прошел проверку подлинности через Active Directory или ни одна запись в таблице Users не имеет совпадающего имени Active Directory, он должен будет перейти на страницу входа в обычном режиме. Чтобы было понятно: сайт все еще должен быть доступен извне (т.е. вне домена).
У меня есть тестовая система, которая включает в себя сервер IIS 6 и клиент под управлением IE7; оба являются членами тестовой Active Directory. Я пытался использовать HttpContext.Current.Request.LogonUserIdentity в сочетании с интегрированной безопасностью IIS, но он возвращает анонимный вход, кроме просмотра на localhost.
У кого-нибудь есть решение?