Назад | Перейти на главную страницу

Аутентификация Windows на удаленном сервере в среде интрасети

У меня есть несколько серверов (все на одном DC) в среде интрасети в моей компании. Для простоты я сосредоточу свой вопрос на серверах IIS и SQL. У меня есть веб-сервер IIS 7.5 и удаленный SQL Server 2005 на другом компьютере в домене.

Вот мои требования к тому, чего я надеюсь достичь:

Я потратил как минимум пару недель (в совокупности) на то, чтобы исследовать это время от времени за последние несколько лет, поскольку у меня было время, но безрезультатно. Пожалуйста, помогите мне сначала понять, возможно ли выполнить эти требования (а я достаточно уверен, что это так), укажите мне в правильном направлении, «КАК» это сделать, и какие ограничения я должен учитывать с указанным решением.

Что я сделал до сих пор:

Лучшее, что мне удалось сделать, - это подтвердить наличие HTTP-заголовка Kerberos, но мое тестовое приложение показывает, что пользовательский пользователь пула приложений (учетная запись SPN) передается вместо моего собственного. Вот результаты моего тестового приложения, если хотите:

Result             Field Description              Test App Code
------             -----------------              -------------
Negotiate          Page Authentication Type       Page.User.Identity.AuthenticationType
<dc>\<username>    Page Identity                  Page.User.Identity.Name
Kerberos           Principal Windows Auth Type    WindowsIdentity.GetCurrent().AuthenticationType
<dc>\<spnUser>     Principal Windows Identity     WindowsIdentity.GetCurrent().Name
<dc>\<username>    HttpContext User               HttpContext.Current.User.Identity.Name
<dc>\<username>    Server Var "LOGON_USER"        Request.ServerVariables("LOGON_USER")
<dc>\<username>    Thread Current Principal       Threading.Thread.CurrentPrincipal.Identity.Name