jboss中对Oracle数据源加密配置

一、Oracle数据源加密配置
1、修改oracle-test-ds.xml:
<user-name>db_username</user-name>
<password>db_password</password>
替换为:
<security-domain>EncryptDBPasswordWFM</security-domain>

2、修改jboss-4.2.3.GA/server/default/conf/login-config.xml,添加如下配置:

<application-policy name= "EncryptDBPasswordWFM" >
         <authentication>
             <login-module code= "org.jboss.resource.security.SecureIdentityLoginModuleEx" flag= "required" >
                 <module-option name= "username" >WFM_DB_USERNAME</module-option>
                 <module-option name= "password" >WFM_DB_PASSWORD</module-option>
                 <module-option name= "managedConnectionFactoryName" >jboss.jca:service=LocalTxCM,name=testDataSource</module-option>
             </login-module>
         </authentication>
</application-policy>

3、编写类SecureIdentityLoginModuleEx继承Jboss验证类SecureIdentityLoginModule:

1)重写初始化方法,账号和密码密文直接从password.properties中获取

public void initialize(Subject subject, CallbackHandler handler, Map sharedState, Map options)
     {
         super .initialize(subject, handler, sharedState, options);
         //根据平台提供的方法获取账号密码
         username = SecretPropUtil.getPasswordPropValue((String)options.get( "username" ));
         if (username == null )
         {
             // NR : try with userName
             username = SecretPropUtil.getPasswordPropValue((String)options.get( "userName" ));
             if (username == null )
             {
                 throw new IllegalArgumentException( "The user name is a required option" );
             }
         }
         password = SecretPropUtil.getPasswordPropValue((String)options.get( "password" ));
         if (password == null )
         {
             throw new IllegalArgumentException( "The password is a required option" );
         }
     }

2)重写解密算法改为test自己的解密算法

private static char [] decode(String secret)
     {
         String srcPwd = "" ;
         try
         {
             srcPwd = PasswordHandler.generateDecryptStr(secret);
         }
         catch (UnsupportDigestTypeNameException e)
         {
             LOGGER.error(e);
         }
         return srcPwd.toCharArray();
     }

3)将用到的jar包放入/jboss-4.2.3.GA/server/default/lib目录下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值