如何使用wildfly中的单个安全策略配置多个数据源

时间:2015-02-08 16:03:30

标签: wildfly

我已使用不同的加密密码策略成功设置了两个数据源,如下所示:

安全政策1

<security-domain name="policy1" cache-type="default">
     <authentication>
          <login-module code="org.picketbox.datasource.security.SecureIdentityLoginModule" flag="required">
             <module-option name="username" value="user1"/>
             <module-option name="password" value="-16de44"/>
             <module-option name="managedConnectionFactoryName" value="jboss.jca:service=LocalTxCM,name=DATASOURCE_1"/>
          </login-module>
    </authentication>
</security-domain>

安全政策2

<security-domain name="policy1" cache-type="default">
     <authentication>
          <login-module code="org.picketbox.datasource.security.SecureIdentityLoginModule" flag="required">
             <module-option name="username" value="user2"/>
             <module-option name="password" value="-16de44"/>
             <module-option name="managedConnectionFactoryName" value="jboss.jca:service=LocalTxCM,name=DATASOURCE_2"/>
          </login-module>
    </authentication>
</security-domain>

数据源1

<datasource jndi-name="java:/DATASOURCE_1" pool-name="DATASOURCE_1" enabled="true"> 
       .
       .         
       <security>
           <security-domain>policy_1</security-domain>
        </security>
    </datasource>

数据源2

<datasource jndi-name="java:/DATASOURCE_2" pool-name="DATASOURCE_2" enabled="true">    
         .
         .      
        <security>
            <security-domain>policy_2</security-domain>
         </security>
</datasource>

但是,我想知道是否可以对两个数据源使用相同的策略?我无法找到在 managedConnectionFactoryName 策略属性中包含多个pool_name的方法:

<module-option name="managedConnectionFactoryName" value="jboss.jca:service=LocalTxCM,name=DATASOURCE_1 ??????, DATASOURCE_2 ?????"/>

managedConnectionFactoryName 属性是否绝对必要?如果没有添加此属性,可能会产生什么副作用?

1 个答案:

答案 0 :(得分:0)

这是否回答了你的问题? https://access.redhat.com/solutions/304063

这意味着:

<module-option name="managedConnectionFactoryName">jboss.jca:name=DS1,service=LocalTxCM</module-option>
<module-option name="managedConnectionFactoryName">jboss.jca:name=DS2,service=LocalTxCM</module-option>