Ошибка авторизации перенаправления в MVC - PullRequest
2 голосов
/ 16 августа 2011

Я занимаюсь этим исследованием уже 2 дня, но, похоже, не могу найти ответ.

Как перенаправить пользователя на определенную страницу Вот что у меня сейчас:

<authentication mode="Forms">
  <forms loginUrl="~/Account/Member/LogOn" timeout="2880" />
</authentication>

Что я хочу сделать, это если пользователь не прошел проверку подлинности перенаправить на этот URL: ~ / Account / Member / LogOn ", но если пользователь уже прошел проверку подлинности, но не авторизован, я хочу перенаправить на этот URL: ~ / Account/ Member / Unauthorized "

Есть ли способ сделать это без создания пользовательского атрибута аутентификации? '

Спасибо

Ответы [ 2 ]

2 голосов
/ 16 августа 2011

Вы можете создать базовый класс контроллера и переопределить метод OnActionExecuting, а затем наследовать этот контроллер. Подробности смотрите в следующем справочнике.

Как перенаправить из OnActionExecuting в базовом контроллере?

1 голос
/ 16 августа 2011

Приведенный выше код работает с атрибутом [Authorize], поэтому, если пользователь не соответствует критериям авторизации или не прошел проверку подлинности, он возвращается на loginUrl Url.

Например,

[Authorize] просто проверяет, что они аутентифицированы.

[Authorize(User="User1")] и [Authorize(Roles="Manager")] требуют аутентификации и соответствуют указанным критериям авторизации.

Однако я не думаю, что вы можете перенаправить по-разному для каждого.

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