Не удается получить имя пользователя для входа в Windows? - PullRequest
1 голос
/ 27 октября 2011

В моем приложении ASP.NET, развернутом в интрасети, я использую что-то вроде этого в веб-службе для получения логина Windows текущего пользователя:

string user = User.Identity.Name.ToString();

и добавил следующее в мой Web.config file:

<system.web>
    <authentication mode="Windows" />
    <identity impersonate="false" />
</system.web>

Это работает, когда я развертываю свой сайт локально, но не работает, когда я публикую его и использую реальный URL (не локальный) для доступа к нему.Я что-то пропустил?Я хочу получить имя для входа в Windows пользователя, который в данный момент получает доступ к моему веб-сайту.Есть предложения?

Ответы [ 2 ]

3 голосов
/ 27 октября 2011

Установлена ​​ли аутентификация Windows в IIS?

Для корректной работы может потребоваться сочетание базовой аутентификации и аутентификации Windows в IIS.

1 голос
/ 27 октября 2011

Есть ли у вашей службы какие-либо требования к аутентификации? Большинство сервисов требуют некоторого согласования для аутентификации (например, если это SOAP или передается в заголовках HTTP и т. Д.).

Какой клиент вы используете для выполнения сервисного вызова? Браузер может передавать учетные данные Windows, если он находится в надежном соединении (например, интрасеть или локальный хост), но если вы вызываете службу из ненадежного домена из браузера или используете другой клиент, вам нужно передать учетные данные по-другому.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...