加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-4 – 如何配置使用Authorize(Roles)属性时会发生什

发布时间:2020-12-16 06:23:37 所属栏目:asp.Net 来源:网络整理
导读:我有一个配置了simplemembership的MVC4项目.这一切都工作等但我想知道当用户无权查看给定页面时如何告诉控制器/动作重定向到它. 例如,如果我使用[Authorize(Roles =“Admin”)]并尝试使用没有“Admin”角色的登录用户查看该页面,则会将我重定向到登录页面,即
我有一个配置了simplemembership的MVC4项目.这一切都工作等但我想知道当用户无权查看给定页面时如何告诉控制器/动作重定向到它.

例如,如果我使用[Authorize(Roles =“Admin”)]并尝试使用没有“Admin”角色的登录用户查看该页面,则会将我重定向到登录页面,即使我已经登录在.

我想将此更改为其他内容…可能是404或一条好消息,说“您无权查看该内容”.

我已经尝试使用谷歌搜索我能想到的所有事情,但到目前为止还没有找到答案.

这可以通过当前设置完成还是我需要其他东西?一个正确方向的指针将不胜感激:)

解决方法

尝试创建自定义 AuthrorizeAttribute并覆盖 OnAuthorization方法,以便在授权失败时重定向到自定义页面,如果身份验证失败,则重定向到登录页面.某些人使用的另一种方法是检查当前用户是否在登录页面上进行了身份验证,如果他们是,您可以认为他们被重定向到此页面,因为授权失败.在这种情况下,向用户显示一条特殊消息,表明他们无权访问该页面.对于某些应用程序,这可能是有意义的,因为用户可能有多个帐户,并且他们想要登录到他们有权执行操作的另一个帐户.其中一些概念是 discussed in this QA.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读