Отключите аутентификацию в MVC с помощью web.конфиг
У меня есть сайт MVC, защищенный с помощью атрибутов [Authorize], но есть проблема на производственном веб-сайте, который использует единый вход через пару или сайты на разных серверах. Я хочу исключить аутентификацию в качестве причины; есть ли способ временно отключить аутентификацию через интернет.настройте так, чтобы все или некоторые действия контроллера, имеющие атрибут Authorize, могли быть доступны без входа в систему?
изменить:
Я попытался добавить следующее сеть.config:
<authentication mode="None" />
но это приводит к тому, что все действия, украшенные атрибутом Authorize, отображают пустые страницы. Действия без авторизации продолжают работать, хотя
4 ответов
есть ли способ временно отключить аутентификацию через сеть.настройте так, чтобы все или некоторые действия контроллера, которые имеют Authorize атрибут может быть доступен без входа в систему?
нет, это невозможно с платформой по умолчанию. Я почти уверен, что AuthorizeAttribute
в исходном коде MVC попытается проверить и посмотреть, вошел ли пользователь в систему. Без аутентифицированного пользователя доступ будет запрещен.
используйте [AllowAnonymous], чтобы разрешить использование определенных действий в контроллере неавторизованными пользователями.
в Интернете.config прокомментируйте ребенка:
<authentication mode="Windows" />
<authorization>
<!--<deny users="?" />-->
</authorization>
вы можете разрешить всем пользователям доступ к системе, добавив следующее в интернете.конфиг. Когда контроллер проверяет авторизацию, пользователь будет проверен, так как вы позволяете всем пользователям с любой аутентификацией windows получить доступ к системе.
<authentication mode="Windows" />
<authorization>
<allow users="*"/>
<!--<deny users="?" />-->
</authorization>