2016-08-03 4 views
0

Я создал веб-приложение, которое отображает имя пользователя Windows в правом верхнем углу. Если я открою webapp на localhost:5903/index.aspx, я получаю правильный пользователь Windows. Как это -


enter image description hereIIS не подбирает пользователя Windows

Но если я открываю localhost/db/index.aspx я получаю IIS AppPool пользователя -


enter image description here

Здесь дб каталог, который имеет мое приложение.

Я понятия не имею, почему это происходит. Я хочу, чтобы localhost также показывал правильное имя пользователя.

Мое дерево IIS, здесь DB (1) мой WebApp -

enter image description here

Мой C# код, который выбирает Windows Identity -

<li><% string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;%> 
<a><%= userName %></a> 
</li> 

ответ

2

Вам нужно настроить сайт в IIS для Аутентификация Windows только и отключить Аноним.

Перейдите в IIS для вашего сайта, затем в разделе «Свойства».

Затем по категории IIS> Аутентификация> Установите для Windows Authentication для Enabled и всех других (Anonymous .... others) значение Disabled.

Вместо того, чтобы ...

System.Security.Principal.WindowsIdentity.GetCurrent().Name; 

Использование

HttpContext.Current.User.Identity.Name; 
+0

подлинности Windows уже была включена. Я отключил Аноним. Без изменений. Все еще получение IIS AppPool –

+0

Обновлен ответ выше .. используйте HttpContext.Current.User.Identity.Name; –

+0

Это сработало! Можете ли вы сказать мне, в чем разница, и почему он не работает с localhost? –

Смежные вопросы