WildFly数据源密码保护

Ale*_*kov 1 datasource password-encryption jboss7.x wildfly-8

如何在WildFly中保护数据源定义中的密码?我找到了导致JBoss 7版本的链接.路径修正后,我在WildFly中遇到了这个错误:

Exception during createSubject()PBOX000016: Access denied: authentication failed: java.lang.SecurityException: PBOX000016: Access denied: authentication failed
Run Code Online (Sandbox Code Playgroud)

Ale*_*kov 5

数据源密码加密的程序在WildFly与JBoss 7之间没什么区别.按照此处的主要说明和两个通知:

  1. 更正罐子的路径,这有助于生成加密密码.在WildFly中它位于$ JBOSS_HOME/modules/system/layers/base /
  2. 在安全域定义中,将login-module标记的代码属性值更改为 org.picketbox.datasource.security.SecureIdentityLoginModule
  3. 在安全域定义中,添加名为managedConnectionFactoryName的模块选项标记,并将值"jboss.jca:service = LocalTxCM,name = dsname ",其中dsname - 数据源的名称.

完整示例:

<security-domain name="EncryptedPassword">
   <authentication>
      <login-module code="org.picketbox.datasource.security.SecureIdentityLoginModule" flag="required">
         <module-option name="username" value="name"/>
         <module-option name="password" value="-46511cf9e238007cbb"/>
         <module-option name="managedConnectionFactoryName" value="jboss.jca:service=LocalTxCM,name=dwh"/>
     </login-module>
   </authentication>
</security-domain>
Run Code Online (Sandbox Code Playgroud)