我们当前的应用程序使用JSF / JPA技术并部署在Weblogic 12.1.2上并执行以下操作:
我们的应用程序Scoped角色非常精细,它可以帮助我们执行以下操作:
由于Group to Role映射在Weblogic.xml中,我们的应用程序用户无法将组更改为角色映射,这是我必须解决的问题。
我的目标是执行以下操作:
我遇到的问题是我无法使用WebLogic找到如何动态地进行组到角色映射,因为我无法访问允许我将组更改为角色的WebLogic API在我部署的应用程序中映射有人曾经这样做过吗?
我已经考虑过创建自定义角色映射器,但我不确定如何在已部署的应用程序中获取此自定义角色映射器的句柄。
答案 0 :(得分:0)
从Java EE 7开始,基于此线程无法实现 dynamic roles on a Java EE server
如果有人确实希望将此功能添加到Java EE 8,那么请在Java EE 8中投票支持以下两个开放功能请求
https://java.net/jira/browse/JAVAEE_SECURITY_SPEC-8 https://java.net/jira/browse/JASPIC_SPEC-22
答案 1 :(得分:0)
不是一个具体的答案,但可以使用特定于Weblogic的解决方案来完成。
参见以下示例: https://docs.oracle.com/cd/E13212_01/wles/docs42/dvspisec/examples.html
您必须实现getRoles方法:
import weblogic.security.spi.RoleMapper;
import weblogic.security.spi.RoleProvider;
public final class MyRoleMapperProviderImpl implements RoleProvider, RoleMapper
{
public Map getRoles(Subject subject, Resource resource,
ContextHandler handler)
{
...
}
}
您可以为它生成MBean以建立自动加载: https://docs.oracle.com/middleware/1213/wls/DEVSP/generate_mbeantype.htm#DEVSP617
java -DMDF=xmlfile -Dfiles=filesdir -DcreateStubs=true
weblogic.management.commo.WebLogicMBeanMaker
结果可以作为jar添加到服务器类路径中,并且实现在服务器启动时可用。