Java JBoss的独立登录配置?
我正在尝试创建一个RPM打包的Ear文件,它应该可以与JBoss容器中的其他RPM打包的Ear文件一起安装。(我可能可以在JBoss中创建一个单独的容器,但这对于一个Ear来说是一个很大的开销。)这很好,除了一个问题 我的问题是,这个Ear文件公开了使用自己的身份验证策略(login-config.xml policy/application policy/authentication/login module)的web服务。现在,多个RPM希望通过该文件提供身份验证信息,因此我们与RPM规范规则发生了冲突,即任何文件都不能由多个RPM包拥有(无论如何,最后一个RPM都会破坏上一个RPM包) 是否有任何方法可以在单独的文件中声明应用程序策略/身份验证块,或者以某种方式将其置于login-config.xml之外?例如,是否可以声明引用单独登录XML定义的附加安全MBean(在单独的文件中)Java JBoss的独立登录配置?,java,security,jboss,packaging,rpm,Java,Security,Jboss,Packaging,Rpm,我正在尝试创建一个RPM打包的Ear文件,它应该可以与JBoss容器中的其他RPM打包的Ear文件一起安装。(我可能可以在JBoss中创建一个单独的容器,但这对于一个Ear来说是一个很大的开销。)这很好,除了一个问题 我的问题是,这个Ear文件公开了使用自己的身份验证策略(login-config.xml policy/application policy/authentication/login module)的web服务。现在,多个RPM希望通过该文件提供身份验证信息,因此我们与RPM规范规
这是JBaseV4.2,但如果它解决了这个问题,我愿意考虑。 更新:
卢卡斯规则。下面是工作配置<?xml version='1.0'?>
<server>
<mbean code="org.jboss.security.auth.login.DynamicLoginConfig"
name="jboss.security.tests:service=LoginConfig">
<depends optional-attribute-name="SecurityManagerService">
jboss.security:service=JaasSecurityManager
</depends>
<depends optional-attribute-name="LoginConfigService">
jboss.security:service=XMLLoginConfig
</depends>
<attribute name="PolicyConfig" serialDataType="jbxb">
<jaas:policy
xsi:schemaLocation="urn:jboss:security-config:4.1 resource:security-config_4_1.xsd"
xmlns:jaas="urn:jboss:security-config:4.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<jaas:application-policy name="mySecurityDomain">
<jaas:authentication>
<jaas:login-module code="org.jboss.security.auth.spi.DatabaseServerLoginModule" flag="required">
<jaas:module-option name="unauthenticatedIdentity">noone</jaas:module-option>
<jaas:module-option name="dsJndiName">java:/myDataSource</jaas:module-option>
<jaas:module-option name="principalsQuery">SELECT password FROM WebServiceUser WHERE userName=?</jaas:module-option>
<jaas:module-option name="rolesQuery">SELECT role, 'Roles' FROM WebServiceUser WHERE userName=?</jaas:module-option>
</jaas:login-module>
</jaas:authentication>
</jaas:application-policy>
</jaas:policy>
</attribute>
</mbean>
</server>
jboss.security:service=JaasSecurityManager
jboss.security:service=XMLLoginConfig
无人
java:/myDataSource
从WebServiceUser中选择密码,其中用户名=?
从WebServiceUser中选择角色,“角色”,其中用户名=?
您可以尝试使用DynamicLoginConfig服务设置登录模块。我从来没用过它,但它看起来对你有帮助。它允许您创建登录模块配置
并在应用程序安装期间部署它
在这里,您可以找到有关它的更多信息: