В web.config моего приложения ASP.NET MVC настроено следующее:
<authentication mode="Windows" />
<authorization>
<allow roles="MySecurityGroup"/>
<deny users="*"/>
</authorization>
<customErrors mode="On" defaultRedirect="Error.aspx">
<error statusCode="401" redirect="Help.aspx"/>
</customErrors>
Все работает нормально, если вы находитесь в MySecurityGroup, но если нет, вы не перенаправлены ни на Error.aspx, ни на Help.aspx. (Обратите внимание, что Error.aspx находится в Views \ Shared, а Help.aspx находится в Views \ Home.) Все, что вы получаете, это ошибка по умолчанию:
Ошибка сервера в «/» приложении.
Доступ запрещен.
Описание: произошла ошибка при доступе к ресурсам, необходимым для обслуживания этого запроса. Сервер не может быть настроен для доступа к запрошенному URL.
Сообщение об ошибке 401.2 .: неавторизовано: сбой входа в систему из-за конфигурации сервера. Убедитесь, что у вас есть разрешение на просмотр этого каталога или страницы на основе предоставленных вами учетных данных и методов аутентификации, включенных на веб-сервере. Обратитесь к администратору веб-сервера за дополнительной помощью.
Что я делаю не так?
ОБНОВЛЕНИЕ: Теперь мой web.config настроен так, и он все еще не работает:
<system.web>
<customErrors mode="On" defaultRedirect="Help.aspx">
</customErrors>
</system.web>
<location path="">
<system.web>
<authorization>
<allow roles="MySecurityGroup"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="Help">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
Обратите внимание, что я могу легко перейти к MyApp / Help и правильно заблокирован для остальных сайтов, но он никогда не перенаправляется на страницу справки автоматически.