2010-01-10 3 views
2

Я хотел бы защитить свои MVC действия контроллера, используя ...Ловля ASP.Net MVC Принцип Разрешение атрибутов исключения

[PrincipalPermission(SecurityAction.Demand, Role="Administrator")] 

Однако, если пользователь не в этой роли, то А SecurityException «Запрос главного разрешения не смогли." бросается кодом.

Кажется, что нет никакой возможности справиться с этой ошибкой, даже ошибка [Handle] не поймает ее.

Что я хотел бы, это способ поймать исключения безопасности, а затем перенаправить пользователя на мою страницу входа (или маршрут).

Или как-то написать собственный фильтр действий, который я могу добавить к любому методу, например.

[MustBeAnAdministrator] 

... который проверит, находится ли пользователь в правильной роли и перенаправляет его. Однако, похоже, я не могу перенаправить работу в фильтр действий.

Спасибо.

+0

Если ваша роль - группа Windows, то вы, вероятно, имеете в виду «Администраторы» с символом «s». –

ответ

1

В нашей MVC-проекта мы используем

<Authorize(Roles:="Administrators")> 

функции, заданной MembershipProvider - который мы установили в наших условиях. Если пользователь не войдет в систему, он будет перенаправлен на экран входа в систему.

Смежные вопросы