int*_*net 0 encryption wildfly
我想将Web应用程序移交给某些人,但是不应允许这些人使用某些工具访问数据库。使用webapplicaton,在后台数据库就可以了。
Wildfly具有使用以下代码的配置:
<xa-datasource jndi-name="java:jboss/datasources/ExampleXADS" pool-name="ExampleXADS">
<driver>h2</driver>
<xa-datasource-property name="URL">jdbc:h2:mem:test</xa-datasource-property>
<xa-pool>
<min-pool-size>10</min-pool-size>
<max-pool-size>20</max-pool-size>
<prefill>true</prefill>
</xa-pool>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
</xa-datasource>
Run Code Online (Sandbox Code Playgroud)
如您所见,还有用户名和密码。如何排除/加密这些密码,所以只有管理员知道数据库的密码。整个应用程序服务器也是如此-还有用户和密码。我怎样才能做到这一点?
编辑:“客户”将获得整个应用程序,包括Web服务器配置。(Wilfly和.war文件)仅用于将软件密钥保存在数据库中。如果“客户”第一次启动Web应用程序,则会提示他,因此请输入许可证密钥。输入许可证密钥后,将调用Web服务。返回代码为“ false”或“ true”(密钥有效或密钥无效)我的第一个想法是将标志存储在数据库中。但是,如果用户有权访问数据库,则可以自己操作此标志。还有其他设置“软件密钥有效”标志的可能性,而不是将标志保存在数据库中。有任何想法吗?
您可以使用安全域来解决此问题,Wildfly可能会有一些特定的更改,但是对于JBoss 7.1.1,这是您需要做的。
在您的JBoss / Widlfy服务器中找到jboss-logging-3.1.0.GA.jar的位置。对于JBoss 7.1.1,它应该类似于-modules \ org \ jboss \ logging \ main \ jboss-logging-3.1.0.GA.jar
找到picketbox-4.0.7.Final.jar的位置
检查Picketbox Jar是否具有org.picketbox.datasource.security.SecureIdentityLoginModule类。
从JBoss服务器根文件夹运行以下命令来加密您的数据源连接密码
java -cp modules \ org \ jboss \ logging \ main \ jboss-logging-3.1.0.GA.jar; modules \ org \ picketbox \ main \ picketbox-4.0.7.Final.jar org.picketbox.datasource.security。 SecureIdentityLoginModule密码XYZ
获取输出文本,并在standalone.xml中的元素下添加以下安全域:
<security-domain name="encrypted-ds-WASM2" cache-type="default">
<authentication>
<login-module code="org.picketbox.datasource.security.SecureIdentityLoginModule" flag="required">
<module-option name="username" value="WASM2"/>
<module-option name="password" value="89471a19022f8af"/>
<module-option name="managedConnectionFactoryName" value="jboss.jca:service=LocalTxCM,name=MySqlDS_Pool"/>
</login-module>
</authentication>
</security-domain>
Run Code Online (Sandbox Code Playgroud)如下所示在数据源元素中使用此安全域:
<datasource jta="false" jndi-name="java:jboss/jdbc/JNDIDS" pool-name="OFS1" enabled="true" use-ccm="false">
<connection-url>jdbc:oracle:thin:@x.x.x.x:1521:xxxx</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<driver>oracle</driver>
<security>
<security-domain>encrypted-ds-WASM2</security-domain>
</security>
<validation>
<validate-on-match>false</validate-on-match>
<background-validation>false</background-validation>
<background-validation-millis>1</background-validation-millis>
</validation>
<statement>
<prepared-statement-cache-size>0</prepared-statement-cache-size>
<share-prepared-statements>false</share-prepared-statements>
</statement>
</datasource>
Run Code Online (Sandbox Code Playgroud)参考链接:http : //middlewaremagic.com/jboss/?p=1026