Как полностью отключить проверку подлинности форм в приложении ASP.NET и заменить ее на пользовательский модуль аутентификации?Полностью отключить аутентификацию форм в ASP.NET
задать режим аутентификации, как None в web.config
<authentication mode="None" />
и прилагается собственный модуль аутентификации
<add name="CustomAuthenticationModule" type="CustomAuthenticationModule, Auth"/>
Мой пользовательский модуль аутентификации
application.AuthenticateRequest += new EventHandler(this.Application_AuthenticateRequest);
application.PostAuthenticateRequest += new EventHandler(this.Application_PostAuthenticateRequest);
application.AuthorizeRequest += new EventHandler(this.Application_AuthorizeRequest);
Все выглядит работает, кроме одно ... когда я пытаюсь получить доступ к защищенной странице, необходимо Admi n ролей
<location path="SomePage.aspx">
<system.web>
<authorization>
<allow roles="Admin"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
Мой обработчик не улавливает событие AuthorizeRequest. Вместо этого мой запрос будет возвращен в браузер с помощью
Доступ запрещен. Сообщение об ошибке 401.2 .: Неавторизованный: вход в систему не выполнен из-за для конфигурации сервера. Убедитесь, что у вас есть разрешение на просмотр этого каталога или страницы на основе учетных данных, предоставленных вами, и методов проверки подлинности , включенных на веб-сервере. Обратитесь к администратору веб- сервера для получения дополнительной помощи
Похоже, какой-то другой обработчик обработает запрос и возвращает Несанкционированный код запроса? Разве я не полностью отключил проверку подлинности или пропустил что-то еще?
разрешений: у всех есть полный доступ к папке, так что это не проблема ... Я сейчас сижу под ASP.NET Development Server от VS 2010 ... проверит, как это работает под реальным IIS –