在 ASP.NET MVC 中对 UI 控件的角色基础访问
Role base access on UI controls in ASP.NET MVC
我正在构建一个应用程序,其中同一页面可以被不同角色的多个用户访问,例如
- 管理员可以更新所有字段
- Initiator可以在页面除评论框以外的所有控件中插入数据
- 审稿人只能在评论框中插入数据
- 指南只能读取屏幕上的数据,无法更新屏幕上的任何内容
到目前为止我唯一想到的是我应该制作自定义 Html 助手,我将在其中接受角色作为参数并检查角色并相应地添加禁用或启用 类控制。
应用程序将有数百个页面,但某些页面可能对不同的角色具有不同的访问权限。请提供一个解决方案,我可以在不影响性能的情况下实现这个特定的页面和角色基础访问控制。
如有任何帮助或建议,我们将不胜感激。谢谢。
您真的要隐藏用户无权更新的控件吗?
或者在他们点击 save/update 按钮时简单地显示未经授权的错误 (return new HttpUnauthorizedResult();
)。如果您更喜欢后者,这是一种方法:
- 您的剃须刀视图不会使用任何授权码。
- 创建一个 group/role 类似 "All Authorized X app"
的内容
- 为个别函数创建 groups/roles,例如 "X Administrators"、"X Initiators"、"X Reviewers" 和 "X Guides"
- 将第三个项目符号中的所有 groups/roles 添加到第二个项目符号中
- 像
[Authorize ("Roles="All Authorized X app")]
一样装饰你的控制器
- 在您的 save/update 操作中,使用
if(User.IsInRole("X Administrators"))
或 if(User.IsInRole("X Reviewer"))
我正在构建一个应用程序,其中同一页面可以被不同角色的多个用户访问,例如
- 管理员可以更新所有字段
- Initiator可以在页面除评论框以外的所有控件中插入数据
- 审稿人只能在评论框中插入数据
- 指南只能读取屏幕上的数据,无法更新屏幕上的任何内容
到目前为止我唯一想到的是我应该制作自定义 Html 助手,我将在其中接受角色作为参数并检查角色并相应地添加禁用或启用 类控制。 应用程序将有数百个页面,但某些页面可能对不同的角色具有不同的访问权限。请提供一个解决方案,我可以在不影响性能的情况下实现这个特定的页面和角色基础访问控制。
如有任何帮助或建议,我们将不胜感激。谢谢。
您真的要隐藏用户无权更新的控件吗?
或者在他们点击 save/update 按钮时简单地显示未经授权的错误 (return new HttpUnauthorizedResult();
)。如果您更喜欢后者,这是一种方法:
- 您的剃须刀视图不会使用任何授权码。
- 创建一个 group/role 类似 "All Authorized X app" 的内容
- 为个别函数创建 groups/roles,例如 "X Administrators"、"X Initiators"、"X Reviewers" 和 "X Guides"
- 将第三个项目符号中的所有 groups/roles 添加到第二个项目符号中
- 像
[Authorize ("Roles="All Authorized X app")]
一样装饰你的控制器
- 在您的 save/update 操作中,使用
if(User.IsInRole("X Administrators"))
或if(User.IsInRole("X Reviewer"))