jboss中对Oracle数据源加密配置

本文介绍如何通过配置实现Oracle数据源的加密,包括修改配置文件、添加自定义验证模块及实现解密算法等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、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)
            {
                thrownew IllegalArgumentException("The user name is a required option");
            }
        }
        password = SecretPropUtil.getPasswordPropValue((String)options.get("password"));
        if(password == null)
        {
            thrownew 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);
        }
        returnsrcPwd.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、付费专栏及课程。

余额充值