Перемещение моего сайта на другой сервер меняет аутентификацию с Kerberos на NTLM - PullRequest
1 голос
/ 16 мая 2011

У меня есть веб-сервис, настроенный для аутентификации Windows. Код клиента, который вызывает WS, передает учетные данные WS следующим образом:

myWebService.Credentials = System.Net.CredentialCache.DefaultCredentials;

(насколько я понимаю, это имя пользователя-пароля-домена вошедшего в систему пользователя).

Я тестирую проблемы конфигурации и не понимаю, как установить Kerberos.

ДЕТАЛИ Подписаться:

У меня есть 2 виртуальных каталога на том же IIS-сервере (один - «клиент» со страницами .aspx), а другой - «сервер» (на нем размещается веб-служба, которую вызывает клиент).

Мой клиент отображает ключевую информацию о подключающемся пользователе через этот код:

private string GetUserInfo()
    {
        System.Security.Principal.WindowsIdentity UserIdentityInfo;
        StringBuilder msg = new StringBuilder("User Name: ");
        UserIdentityInfo = System.Security.Principal.WindowsIdentity.GetCurrent();
        msg.Append(UserIdentityInfo.Name);
        msg.Append(Environment.NewLine);
        msg.Append(" Token: ");
        msg.Append(UserIdentityInfo.Token.ToString());
        msg.Append(Environment.NewLine);
        msg.Append(" Authenticated: ");
        msg.Append(UserIdentityInfo.AuthenticationType);
        msg.Append(Environment.NewLine);
        msg.Append(" System: ");
        msg.Append(UserIdentityInfo.IsSystem);
        msg.Append(Environment.NewLine);
        msg.Append(" Guest: ");
        msg.Append(UserIdentityInfo.IsGuest);
        msg.Append(Environment.NewLine);
        msg.Append(" Anonymous: ");
        msg.Append(UserIdentityInfo.IsAnonymous);
        msg.Append(Environment.NewLine);
        return msg.ToString();
    }

Тип аутентификации - Kerberos , когда ОБА веб-клиент и вызываемый веб-сервис находятся на одном сервере (например, SERVER1). Фактическое исполнение тоже работает правильно.

Тип аутентификации меняется на NTLM , когда вызывается тот же код веб-клиента, но теперь он находится на SERVER2 . Вызываемый веб-сервис по-прежнему находится на исходном сервере (SERVER1). Фактическое выполнение СБОЙ, потому что учетные данные не верны.

SERVER1 и SERVER2 находятся в одной локальной сети (один и тот же DOMAIN), и учетная запись домена, которую я использую для тестирования каждого сценария выше, одинакова (я нахожусь в группе администраторов на каждом компьютере).

Как я могу настроить это так, чтобы KERBEROS был типом аутентификации, то есть когда этот клиент на SERVER2 вызывается из браузера «мной»?

1 Ответ

0 голосов
/ 18 мая 2011

Пожалуйста, смотрите мой комментарий выше. Возможно, сайт ServerFault - лучшее место для ответа на этот вопрос, и, конечно же, ответ на этот вопрос был быстро получен. Ответ на:

https://serverfault.com/questions/270293/moving-my-website-to-different-server-changes-authentication-from-kerberos-to-ntl

...