1.版本信息
本文档中涉及的框架、数据库、驱动等版本信息如下
框架:jboss-eap-7.2
数据库版本:–03134284194-20240827-240746-20108 Pack12
驱动版本:Dameng JDBC Driver V8.1.3.162-Build(2024.06.21-25790-)
JDK版本:openjdk version “1.8.0_362”
2.JBOSS配置
JBOSS框架可从Reahat官方下载,下载后直接解压即可使用,下载及部署过程本文档忽略,可在附件获取jboss-eap-7.2版本zip包。
2.1.配置JBOSS监听IP
JBOSS框架启动后,默认仅监听127.0.0.1,因此需要修改其配置,让我们能够在外部浏览器上也能访问。
在以下路径编辑standalone配置文件
vim .../jboss-eap-7.2/standalone/configuration/standalone.xml
查找关键词”interface name=”,将此部分的127.0.0.1改为实际的ip地址
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:127.0.0.1}"/>
</interface>
</interfaces>
2.2.放置达梦驱动包
JBOSS框架在添加数据源之前,需要先加载驱动包。我们需要事先将对应版本的驱动包存放在对应路径下,并且配置module.xml文件作为驱动的指示文件。
驱动放置路径如下:(注意:此路径名和层级不能修改,否则JBOSS无法找到达梦驱动)
mkdir -p dm/main/
[dmdba@localhost main]$ ll
total 1372
-rwxr-xr-x 1 dmdba dinstall 1398918 Sep 11 16:13 DmJdbcDriver18.jar
-rw-r--r-- 1 dmdba dinstall 306 Sep 11 16:13 module.xml
module.xml文件需要和驱动jar包存放在同一路径下,按照以下格式填写
注意resource-root path此处必须填写jar包的完整名字
<module xmlns="urn:jboss:module:1.3" name="com.dm">
<resources>
<resource-root path="DmJdbcDriver18.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
2.3.创建管理用户
JBOSS框架还需要创建管理用户后,才能够登录使用。在bin目录下调用add-user.sh脚本,随指引创建管理用户,示例如下
2.4.启动JBOSS并配置数据源
完成上述步骤后,我们首先将JBOSS启动,命令如下:
.../jboss-eap-7.2/bin/standalone.sh&
成功启动后,前台会print出JBOSS使用的url,一般端口为9990。
使用管理用户登录到平台后,我们可以看到以下界面。首先点击configuration进入配置页面。
进入配置页面后,依次点击Subsystems->Datasources & Drivers->JDBC Drivers进入到驱动配置页,再点击右上角的小加号添加驱动,最右侧也能看到相关的说明。
JDBC驱动配置如下,其中Driver Name可以自行命名,Drive Module Name需要与前面module.xml中的名字对应。
配置完成后点击Add,若驱动文件放置路径没有问题,且module.xml配置正确,即能看到如下界面,表示成功添加驱动。
成功配置驱动之后,下一步便是添加数据源,整体操作与添加驱动类似,依次点击Subsystems->Datasources & Drivers->Datasources,再点击右上角的小加号添加驱动。
注意此处我们添加的是普通数据源,下面的XA Datasource为分布式事务数据源。
点击 Add Datasource,弹出以下配置界面,达梦非默认支持数据类型,因此我们选择custom
下一步配置数据源的名字,注意JNDI NAME必须是java:/或者是java:jboss/开头
下一步为配置驱动,点击向下的小箭头,选择我们之前配置好的驱动。Driver Module Name和Driver Class Name也需要和前面配置的一一对应。
接下来配置数据库的连接信息,包含连接url,数据库账号密码,Security Domain暂不配置(此处后续会谈到)
完成全部配置后,点击下一步测试连接是否成功
若看到以下界面,则表示数据源配置成功。
2.5.配置数据源密文密码
当我们默认配置完数据源后,数据库的账号密码会以明文形式保存在配置文件中,这种作法存在很大的安全性问题,因为我们需要将密码改为密文保存的形式。
首先第一步,我们需要调用JBOSS自带的加密方法,将明文密码转换为密文,在JBOSS目录下执行以下命令:
java -cp ./modules/system/layers/base/org/picketbox/main/picketbox-5.0.3.Final-redhat-3.jar:./modules/system/layers/base/org/jboss/logging/main/jboss-logging-3.3.2.Final-redhat-00001.jar:$CLASSPATH org.picketbox.datasource.security.SecureIdentityLoginModule SYSDBA
若命令运行正常,则会输入形同以下格式的密文:
Encoded password: 2fec9d9fef3041d6
之后我们需要修改standalone.xml,在配置文件内添加Securtiy-domain相关内容,格式如下:
<authentication>
<login-module code="SecureIdentity" flag="required">
<module-option name="username" value="SYSDBA"/>
<module-option name="password" value="2fec9d9fef3041d6"/>
</login-module>
</authentication>
</security-domain>
配置完成之后,重启JBOSS,之后在数据源配置界面,修改我们已配置好的数据源。点击VIEW查看现有的配置。
跳转到配置界面,点击Security-Edit配置连接信息,将已配置的用户密码删除,并在Security Domain栏填入我们刚配置的Security Domain的名字,需要与配置文件中的内容对应,配置完成后点击SAVE。
点击左上角的back退回至上一级。
再次点击向下的小箭头,点击 test connection,如果配置无误,就能看到连接测试成功的提示。
3.使用达梦驱动实现加密连接
在前文部分中,我们使用了JBOSS的加解密方法实现了通过密文密码连接,但该方法仅支持对密码进行加密,用户名仍是明文,且需要重新配置security-domain,较为繁琐。实际上,达梦的驱动本身已经提供了用户密码加解密的方法,且更为简单。
3.1.调用驱动方法加密账号密码
我们直接使用以下命令,在获取驱动版本的同时,也能看到加解密功能的使用示例。
java -jar DmJdbcDriver18.jar
输出信息如下:
usage: [options]
options:
| -e text [engine] encrypt text, use the engine or dameng jdbc default
| -d text [engine] decrypt text, use the engine or dameng jdbc default
这里展示了怎么加解密用户密码,实际上就是 -e + {passwd},最后一个参数是加密引擎,可以使用第三方引擎,若不指定则使用达梦自带的加解密方法。
使用以下语句加密用户名及密码,此处加解密方法使用达梦自带。
java -jar DmJdbcDriver18.jar -e "SYSDBA"
执行后会输出加密后的密文,注意默认的加密引擎是确定性加密的,相同的明文对应的密文总是一致的。
3.2.配置启用驱动加密连接
启用驱动加密连接,可以通过修改url或是修改dm_svc.conf实现,以下两种方法视实际需求二选一即可。
对于修改url,需要在JBOSS的数据源配置中,在url中添加localEncrypt=1,示例如下图:
而修改dm_svc.conf,参数名与url相同,需要在dm_svc.conf中添加以下内容:
3.3.将账号密码改为密文配置
启用驱动加密特性后,我们需要将JBOSS连接数据源使用的账号密码改为密文,此处与2.5相同,步骤不重复说明,注意此处需要填写的是USERNAME和PASSWORD,无需配置security-domain。
3.4.重启验证配置
完成上述修改后,我们将JBOSS框架重启使配置生效,验证将用户密码都加密后,是否还能够成功连接数据库,同样是点击view旁边的小箭头,然后点击test connection,看到以下绿色弹窗便表示配置成功。
文章
阅读量
获赞