Отключите аутентификацию в MVC с помощью web.config - PullRequest
8 голосов
/ 27 марта 2012

У меня есть сайт MVC, защищенный с помощью атрибутов [Authorize], но есть проблема на производственном веб-сайте, который использует единый вход для нескольких пар или сайтов на разных серверах. Я хочу исключить Аутентификацию как причину; Есть ли способ временно отключить аутентификацию через web.config, чтобы все или некоторые действия контроллера, имеющие атрибут авторизации, были доступны без входа в систему?

EDIT:

Я попытался добавить в web.config следующее:

<authentication mode="None" />

Но это заставляет все действия, украшенные атрибутом Authorize, отображать пустые страницы Действия без Авторизации продолжают работать, хотя

Ответы [ 4 ]

8 голосов
/ 27 марта 2012

существует ли способ временно отключить аутентификацию через web.config, чтобы все или некоторые действия контроллера, имеющие атрибут авторизации, могли быть доступны без входа в систему?

Нет,это невозможно с рамками по умолчанию.Я почти уверен, что исходный код AuthorizeAttribute в MVC попытается проверить и вошел ли пользователь в систему. Без аутентифицированного пользователя в доступе будет отказано.

7 голосов
/ 20 ноября 2014

Используйте [AllowAnonymous], чтобы разрешить неавторизованным пользователям определенные действия в контроллере.

0 голосов
/ 01 ноября 2015

Вы можете разрешить всем пользователям доступ к системе, добавив следующее в web.config. Когда контроллер проверяет авторизацию, пользователь будет проверен, поскольку вы разрешаете всем пользователям с любой аутентификацией Windows обращаться к системе.

<authentication mode="Windows" />
    <authorization>
      <allow users="*"/>
  <!--<deny users="?" />-->
    </authorization>
0 голосов
/ 12 февраля 2015

В вашем файле Web.config закомментируйте ребенка:

<authentication mode="Windows" />
<authorization>
  <!--<deny users="?" />-->
</authorization>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...