【发布时间】:2011-03-11 15:16:26
【问题描述】:
在我的 EJB 3 中,我尝试测试主体的角色,但它总是返回 false。
在我的 WebLogic 11g 控制台中,我在“MyDomain”->“Security Realms”->“myrealm”->“Users and Groups”下定义了 3 个用户(user1、user2 和 user3)和 2 个组(role1 和 role2);角色 1 有用户 1 和用户 3,角色 2 有用户 2 和用户 3。
我的 EJB 没有进一步定义安全性(没有 @RolesAllowed 等或 DD 中的条目)。
当我在我的 EJB 中测试是否存在具有 sessionContext.isCallerInRole(role); 的角色时,它总是返回 false。如果我打电话给sessionContext.getCallerPrincipal().getName();,我会得到正确的用户 ID。
我做错了什么?
【问题讨论】:
-
了解您拥有的 Weblogic 11g 的确切版本可能会有所帮助。我最近有一个尖锐和不愉快的经历,即 EJB 和 Jax-Ws 的行为和错误在标记为 10.3.0、10.3.1、10.3.3 和 10.3.4 的 Weblogic 的各个版本之间存在巨大差异,除了第一个标记为 11g 之外的所有版本.
-
我是
WebLogic Server Version: 10.3.4.0
标签: java security ejb-3.0 weblogic weblogic11g