Отключить проверку подлинности формы для общедоступных страниц - PullRequest
0 голосов
/ 24 февраля 2010

В моей среде разработки все работает, как я ожидаю. Я могу получить доступ ко всем страницам, и как только я попадаю на защищенную страницу, я проверяю Request.IsAuthenticated и при необходимости перенаправляю на страницу входа. Проблемы начинаются, когда я развертываю проект под IIS7. Когда я захожу на сайт, меня перенаправляют на страницу входа в систему (как определено в web.config), хотя предполагается, что она является общедоступной страницей ... Если я отключаю проверку подлинности с помощью формы в консоли администратора Request.IsAuthenticated всегда возвращает true , Так

Как я могу заставить IIS вести себя как мой сервер разработки ASP.NET?

p.s. Я работаю с asp.net MVC

Спасибо, Eden.

1 Ответ

2 голосов
/ 24 февраля 2010

Возможно, у вас есть раздел авторизации в вашем web.config, и он отклоняет все запросы для неаутентифицированных пользователей. Проверьте эту статью для некоторых деталей о разделе авторизации. И будет лучше разрешить доступ для неаутентифицированных пользователей, добавив

    <authorization>
        <allow users="*" /> 
    </authorization>

Изменить 26/02:
Возможно, существуют определенные правила авторизации IIS (IIS 7 вводит новый механизм авторизации). Я рекомендую вам проверить все правила, определенные для приложения, с помощью инструмента управления IIS ( эта статья объясняет, как их проверять). И, вероятно, вам будет интересно и полезно проверить изменения между IIS 6 и IIS 7 и IIS 7 для функции авторизации URL-адресов .

Также я проверил это на своем ящике (Windows 7). Я создал простое приложение asp.net mvc и развернул его в IIS (версия 7.5). И все работало как положено. Вероятно, существуют некоторые ограничения на вашем сервере, которые помещаются в корневой конфиг (конфиг в корневой папке) или в machine.config .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...