如何在ASP.NET MVC 2应用程序中显示授权错误消息?

时间:2010-07-10 08:50:01

标签: asp.net asp.net-mvc authorization

我正在使用Authorize属性根据用户角色过滤控制器操作,但如果尝试未经授权的操作,则会将用户重定向回登录页面。正如我的用户,我会发现这令人困惑和恼人。

如何显示错误消息,告知用户他们需要某些角色,并保留在他们尝试操作的视图中?

2 个答案:

答案 0 :(得分:2)

您需要编写一个不返回HttpUnauthorizedResult的自定义Authorize属性。同样保留在同一视图中将是一项艰巨的任务,因为您可能需要在请求后保留所有上下文。

答案 1 :(得分:0)

我到目前为止找到的解决方案是你需要在_ViewStart中保存当前页面的会话(可能是MVC2中的其他内容),然后在自定义授权类中使用它来重定向到页面并显示消息。