2013-08-16 2 views
5

У меня очень простой частичный вид в моем заголовке AccountInfoPanel. Она содержит только одну строку:User.Identity.Name с аутентификацией Windows

Welcome: @HttpContext.Current.User.Identity.Name 

И в моем Web.Config у меня есть

<authentication mode="Windows" /> 

Но имя идентичности всегда пусто. Если я отлаживаю VS VS 2012 и разорву на действие индекса, я вижу, что он пуст.

Если я запускаю его через IIS с включенной аутентификацией Windows и анонимной аутентификацией, я получаю вызов. Поэтому я пытаюсь подключить свою учетную запись или учетную запись test1 и test2. Он возвращается и говорит:

Ошибка HTTP 401.1 - Несанкционированный У вас нет разрешения на просмотр этого каталога или страницы с использованием учетных данных, которые вы предоставили.

Я также попытался настроить олицетворение на истину и получить тот же ответ от вызова. Кто-нибудь знает, как настроить это?

И если все настройки должны быть выполнены в IIS, как вы отлаживаете свой код в Visual Studio?

Другой вопрос. Мой босс, кажется, думает, что вам даже не нужен ящик для входа. IE просто знал бы, кто вы. И вы можете «работать как» в IE с другой учетной записью.

ответ

8

Проверьте один из возможных вопросов, на мой контрольный список

http://netpl.blogspot.com/2012/06/iis-75-integrated-security-with-no.html

Короче:

Во-первых, убедитесь, что анонимная проверка подлинности отключен для сайта:

Во-вторых, включить интегрированный безопасности в Interner Explorer (Параметры/Дополнительно и проверка опции «Включить встроенную проверку подлинности Windows»).

В-третьих, добавьте свой сайт в зону локальной интрасети и выберите хотя бы «Автоматический вход в систему только в зоне интрасети» в разделе «Параметры/Параметры безопасности»/«Локальная интрасеть/Пользовательский уровень»).

В-четвертых, убедитесь, что пользователь и сервер приложений находятся в одном домене.

+1

Спасибо за всю эту информацию. Все еще теперь удача. Он по-прежнему отказывается от моих полномочий. MylocalmachineName \ Test1 Test1Password – Sam

+1

Я просто получил это, чтобы работать. Благодаря Wiktor. Единственное отличие состоит в том, что я могу заставить его работать, если я использую Basic Authentication в IIS. Аутентификация Windows не работает. Надеюсь, он будет работать при развертывании. – Sam

+2

Подтвердил, что это сработало для меня. В частности, активируйте функцию проверки подлинности Windows и отключите функцию анонимной аутентификации. – robnick

5

Для решения этой проблемы необходимо включить функцию проверки подлинности Windows. Выполните следующие шаги:

-Нажмите кнопку Пуск и выберите пункт Панель управления. Откройте группу «Программы». -В программе и -Функциях выберите Включить или отключить Windows. -Открыть пункт, обозначенный Internet Information Services. -Открыть элемент, обозначенный World Wide Web Services. -expand пункт Security -> Обязательно выберите Проверка подлинности Windows

Кроме того, необходимо отключить анонимную проверку подлинности с IIS следующим образом: -Нажмите на приложения в IIS -Двойной выберите Проверка подлинности по группе IIS -Click на анонимную проверку подлинности -Нажмите «Отключить» с правой стороны в разделе «Действия».Надеюсь, это поможет

+2

Я ищу это с раннего утра и только что наткнулся на ваш ответ, после того, как вы выполнили свои шаги и перезапустили мой компьютер, наконец, я получил его работу, большое спасибо –

1

Visual Studio устанавливает IIS Express для обслуживания веб-приложений, поэтому вам нужно настроить его для использования Windows Authentication.

файл конфигурации для IIS Express, как правило, здесь (подробнее: Where is the IIS Express configuration/metabase file found?):

%userprofile%\documents\iisexpress\config\applicationhost.config 

Отключить Анонимная проверка подлинности (включена по умолчанию):

<anonymousAuthentication enabled="false" userName="" /> 

Включить проверку подлинности Windows (по умолчанию отключено) :

<windowsAuthentication enabled="true"> 
    <providers> 
    <add value="Negotiate" /> 
    <add value="NTLM" /> 
    </providers> 
</windowsAuthentication> 
Смежные вопросы