Как отобразить сообщение об ошибке авторизации в приложении ASP.NET MVC 2? - PullRequest
3 голосов
/ 10 июля 2010

Я использую атрибут Authorize для фильтрации действий контроллера по ролям пользователей, но если предпринимается неавторизованное действие, пользователь перенаправляется обратно на страницу входа.Поскольку я пользователь, я нахожу это смущающим и раздражающим.

Как вместо этого я могу показать сообщение об ошибке, информирующее пользователя о том, что ему нужны определенные роли, и оставаться в представлении, где он пытался выполнить действие?

Ответы [ 2 ]

2 голосов
/ 10 июля 2010

Вам нужно написать собственный атрибут Authorize, который не возвращает HttpUnauthorizedResult. Оставаться в том же виде будет сложной задачей, так как вам может потребоваться сохранить весь контекст после запроса.

0 голосов
/ 20 марта 2014

Решение, которое я нашел до сих пор, заключается в том, что вам необходимо сохранить сеанс для текущей страницы в _ViewStart (может быть, что-то еще в MVC2), а затем использовать его в своем пользовательском классе авторизации для перенаправления на страницу и отображения сообщения.

...