我正在使用Authorize属性根据用户角色过滤控制器操作,但如果尝试未经授权的操作,则会将用户重定向回登录页面。正如我的用户,我会发现这令人困惑和恼人。
如何显示错误消息,告知用户他们需要某些角色,并保留在他们尝试操作的视图中?
答案 0 :(得分:2)
您需要编写一个不返回HttpUnauthorizedResult
的自定义Authorize
属性。同样保留在同一视图中将是一项艰巨的任务,因为您可能需要在请求后保留所有上下文。
答案 1 :(得分:0)
我到目前为止找到的解决方案是你需要在_ViewStart中保存当前页面的会话(可能是MVC2中的其他内容),然后在自定义授权类中使用它来重定向到页面并显示消息。