ASP.net MVC的自定义角色提供程序——更改角色
本文关键字:角色 程序 net 自定义 ASP MVC | 更新日期: 2023-09-27 18:26:03
朋友,
在以下情况下寻求一些帮助:
系统的用户有多个角色——角色A和角色B。
使用角色A——用户可以访问视图——PageA、PageB。
使用角色B——用户可以访问视图——PageP、PageQ。
我有一个同时具有角色的用户--角色a和角色B,默认角色为角色a。问题:当用户同时使用角色和默认角色作为角色登录系统时,用户应该能够访问视图--PageA&第B页。我想在布局中有一个下拉列表来显示该用户的角色。当下拉列表中的角色更改为角色B时,用户应该能够访问视图PageP&PageQ,反之亦然。
是否可以使用自定义角色提供程序和Asp.NetMVC的windows身份验证来实现这一点?
欢迎提出任何想法。
提前感谢,DC
角色提供程序的幕后-如果请求新页面,则用户分配的角色将保存在当前线程上的IPrincipal中。它发生在页面生命周期的早期阶段。
您不应该在页面生命周期的中间删除/分配角色给IPrincipal
当下拉列表中的角色更改为角色B时,用户应该能够访问视图PageP&PageQ,反之亦然。
为了实现它,您不希望操纵IPrincipal对象。
相反,请使用简单的逻辑,如
- 将用户分配的角色填充到DropDownList
- 如果选择了角色A,则显示页面A、页面B
- 如果选择了角色B,则显示PageP、PageQ