javaee技术中的数据访问控制

javaee技术中的数据访问控制,java,security,jakarta-ee,Java,Security,Jakarta Ee,我正在从事一个项目,该项目要求我实现一种机制来控制对页面上显示的内容的数据访问 首先要澄清的是,我不是指不同用户登录特定页面或查看特定页面的能力。这是一种不同类型的访问控制。我对“数据访问”更感兴趣,即多个用户可以查看同一页面,但显示的数据取决于他们拥有的数据访问控制权限 我很感兴趣的是知道有不同的方法来实现“数据访问”控制。有没有这样的框架?我目前正在使用Struts 我在想,要做到这一点,我需要以某种方式对我保存的数据类型进行分类和存储,并配置哪些用户可以查看/修改这些数据。我希望尽量避免完

我正在从事一个项目,该项目要求我实现一种机制来控制对页面上显示的内容的数据访问

首先要澄清的是,我不是指不同用户登录特定页面或查看特定页面的能力。这是一种不同类型的访问控制。我对“数据访问”更感兴趣,即多个用户可以查看同一页面,但显示的数据取决于他们拥有的数据访问控制权限

我很感兴趣的是知道有不同的方法来实现“数据访问”控制。有没有这样的框架?我目前正在使用Struts


我在想,要做到这一点,我需要以某种方式对我保存的数据类型进行分类和存储,并配置哪些用户可以查看/修改这些数据。我希望尽量避免完全从头开始生产,所以我想知道专家们是如何做到这一点的,以及哪些框架技术可以帮助他们做到这一点

您正在寻找授权解决方案?你已经检查过JAAS、OSUser和类似产品了吗? 认证要求可能会有很大的不同,我认为您需要更加具体,尝试添加一个用例

我想你需要。使用此框架,可以为不同的用户分配不同的角色。例如,我们可以定义两个角色:角色\用户、角色\管理员。然后我们将这些角色分配给用户。例如,用户a只能有一个角色,角色\用户和用户B可以同时拥有这两个角色。现在,如果在特定的JSP上,您只想向用户B显示某些内容,那么可以将代码放入一对授权标记中:

<sec:authorize ifAllGranted="ROLE_USER, ROLE_ADMIN">
     <!-- html, jsp scriplets, jstl tags inside here will be visible to user B only --> 
</sec:authorize>

同样,如果您想向他们两人展示一些东西:

<sec:authorize ifAllGranted="ROLE_USER">
     <!-- anything inside here will be visible to both users --> 
</sec:authorize>


希望能有所帮助。

我认为他的问题非常具体,尽管我也不知道答案

在任何构建良好的企业应用程序中,都有两个安全级别: (a) 功能性ACL。 用户可以在facebook上搜索其他网站吗?(等)

(b) 您被授予读取和更新哪些数据的权限。 e、 g.你可以在facebook上打开和阅读哪些用户档案? 对于某些用户,例如firends列表中的用户,您可以查看他们的配置文件。对于其他用户,您不能

因此,您可以打开一个列出实体的JSP,这并不意味着您可以在系统中销售完整的实体集

(a) 使用JavaEE用户和角色安全概念很容易解决

(b) 如何将数据库数据与特定JNDI用户和角色关联


当涉及到数据访问ACL时,你必须重新发明轮子吗?

我知道这是旧的,但如果有人在这上面留下了痕迹,请看一下免费电子书《JAAS在行动》,第8章是关于“JAAS用于数据访问控制”的www.jaasbook.com