2

前几天我在我正在开发的应用程序上进行了测试。我想看看安全性是如何从 Web 层传播到 Java EE 容器的。我写了几页,一个支持 bean 和一个 EJB 无状态 bean 来做到这一点。我进行了设置,以便我可以登录并检查我在 Web 层和 EJB 容器上的主体和角色。

对 EJB 上下文的调用表明我与通过 Faces 上下文的调用具有相同的主体。然而,当 web 层报告 (getRole) 确认我在数据库中设置的组中时,对 EJB 端的调用失败并引发了异常。基本上它说它可以找到没有像我问它关于在其上下文中配置的组。事实上,我没有在 EJB 端进行任何安全配置。

我似乎在这里遗漏了一些东西。我需要什么来确保双方在角色/组方面保持同步。我已经配置了 Web 端,以便它通过 JDBC 领域将用户映射到组(这不是自定义的,而是标准配置选项)。

请注意,我使用的是 Glassfish 3.1.1,并且我创建了一个自定义的 JDBC 领域,以我认为更简洁的方式将我的组与我的用户匹配(即在两者之间使用查找表)。FWIW,我在软件领域已经有很长一段时间了,但刚刚习惯了全栈 Java EE(大约一年)。

4

0 回答 0