Я создаю интранет-сайт в ASP.NET MVC 3 Beta и хотел бы использовать только аутентификацию Windows.Кроме того, я хотел бы использовать сервер разработки Visual Studio в VS2010.
Я изменил файл web.config по умолчанию, чтобы удалить все ссылки на аутентификацию форм, и переключился на это:
<authentication mode="Windows" />
<authorization>
<deny users="?" />
</authorization>
Однако, когда я запускаю свой сайт и получаю страницу по умолчанию, я получаю такой ответ:
HTTP/1.1 302 Found
Server: ASP.NET Development Server/10.0.0.0
Date: Tue, 02 Nov 2010 14:05:19 GMT
X-AspNet-Version: 4.0.30319
Location: /Account/Login?ReturnUrl=%2f
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 145
Connection: Close
Что приводит к появлению этого сообщения в моем браузере:
Ошибка сервера в'/' Приложение.
Ресурс не найден.
Описание: HTTP 404. Ресурс, который вы ищете (или одну из его зависимостей), мог быть удален, если его имя было измененоили временно недоступен.Пожалуйста, просмотрите следующий URL и убедитесь, что он написан правильно.
Запрошенный URL: / Account / Login
Информация о версии: Microsoft .NET Framework Версия: 4.0.30319;ASP.NET версия: 4.0.30319.1 версия: 4.0.30319.1
Если я выберу «Аутентификация NTLM» в свойствах проекта в разделе «Использование сервера разработки Visual Studio», то я правильно получу этот ответ при подключении:
HTTP/1.1 401 Unauthorized Server
ASP.NET Development Server/10.0.0.0
Date: Tue, 02 Nov 2010 14:07:37 GMT
Content-Length: 1211
WWW-Authenticate: NTLM
Но затем, когда я аутентифицируюсь, я получаю 302
. Я думаю, что это просто вопрос очистки значения по умолчанию, но я не уверен ("/ Account / Login"нигде не появляется в моих файлах web.config).Если я удаляю «отрицать» часть, то все работает нормально, за исключением того, что я не получаю аутентифицированного принципала и фактически остаюсь анонимным.
Я считаю, что это работало в ASP.NET MVC 2 и VS2008, просто меняярежим аутентификации для Windows, однако, похоже, он больше не работает таким образом.
Я знаю, что, возможно, мне не хватает чего-то базового.Спасибо!
Примечание : Этот вопрос похож на вопрос ", ограничивающий анонимный доступ к ASP.Net MVC Site ", но отличается тем, что я хочуиспользовать только аутентификацию Windows.