2

我对 Web 应用程序中的角色管理有点困惑。
假设:用户属于一个角色,一个角色拥有一个或多个权限,权限可以是:查看页面options.html。

如果角色包含权限(查看此页面、查看该页面等),我们应该如何检查我们的代码中允许用户查看哪个页面?

我想到了两个选项:
a)角色级别:如果用户是 thatRole 的成员,则显示页面...
b)权限级别:如果用户有权限ToViewThatPage,则显示页面...

如果a)是要走的路,那么为什么我们需要权限?
管理员角色有权查看该页面,稍后有人来更改权限。
在我们的代码中,我们询问用户是否是管理员角色的成员,但我们不检查权限。

问题:
您如何管理源代码(JSP/JSF、ASP.NET)中的用户角色/权限?

4

3 回答 3

2

如果您不使用角色,那么维护用户会变得很麻烦,因为您必须在需求发生变化时更改每个人。如果您不使用页面或功能级别权限,那么维护代码会变得很麻烦,因为您必须在需求发生变化时更改代码。

最好的选择是让页面上的功能在需要时需要权限,让用户属于一个或多个角色,然后有办法将角色与权限相匹配。

于 2011-02-07T16:44:28.100 回答
1

乙)。如果您不打算使用您定义的权限,那么您是对的,那么您就不需要它们。但是鉴于您当前的设置,您应该只是权限。处理管理员问题的最佳方法是授予管理员角色所有权限,而不是为用户添加单独的角色检查。

于 2011-02-07T16:42:03.727 回答
0

基本区别是权限分配给角色,角色分配给特定用户。这个概念背后的基本思想是在不知道实际代码的情况下使访问管理尽可能动态。

于 2011-02-07T16:41:30.100 回答