Visual Studio 2010 и веб-сервер Cassini не могут выполнить проверку подлинности Windows!(Доступ запрещен 401,2) - PullRequest
4 голосов
/ 12 января 2011

Как может быть сложно создать веб-сайт, интегрированный с аутентификацией домена в visual studio!?

Это мой web.config:

    <authentication mode="Windows"/>
    <identity impersonate="true"/>
    <authorization>
        <allow users="xxxDomains\yyyGroup"/>
        <deny users="*"/>
    </authorization>

Это результат:

alt text

Но я думаю, что будет диалог входа в систему , который предназначен для ввода domain_name\username и password.Страница бу всегда направляет меня на страницу отказа в доступе, не спрашивая моего имени пользователя и пароля.

PS: я не принадлежу ни к какому домену.Я хочу использовать веб-сервер visual studio (cassini).Я разверну сайт после завершения проекта, я не хочу развертывать проект на веб-сервере в каждом F5 ...

Любая помощь будет признательна ...

Ответы [ 2 ]

4 голосов
/ 01 февраля 2011

Полагаю, вам не хватает флажка NTML Authentification в свойствах ваших веб-проектов в разделе Servers на вкладке Web.

enter image description here

В любом случае, я бы порекомендовал перейти на IIS Express 7.5 , который является простой и автономной версией IIS, оптимизированной для разработчиков:

  • То, как IIS Express обрабатывает проверку подлинности Windows, аналогично «реальному» экземпляру IIS.

  • Вы по-прежнему можете использовать локальный сервер разработки (например, F5 ) без развертывания.

  • Сервер разработки ASP.NET больше не разрабатывается Microsoft и будет заменен IIS Express в будущих выпусках Visual Studio.

См. Также это сообщение в блоге Скотта Гатри для получения дополнительной информации о IIS Express или этой статье .

Надеюсь, это поможет!

2 голосов
/ 15 января 2013

В панели обозревателя решений выберите веб-проект и нажмите F4 . (не правый клик + свойства, это разные)

В свойствах панели установлено:
Аутентификация Windows : Включить
анонимная аутентификация : отключено

В Web.config: <authentication mode="Windows"></authentication>

Чтобы получить имя пользователя:

HttpContext.Current.User.Identity.Name OR User.Identity.Name

Запустите свой проект, Счастливые дни!

...