我见过的所有Wildfly(和JBoss AS)文档和Glassfish-to-Wildfly迁移示例都使用了需要数据库设置的JDBCrealm以及其他一些配置文件。
问:Wildfly中有简单的Glassfish文件域和keyfile
吗?
[编辑:我寻求的内置功能的更多解释。]
在Glassfish浏览器管理控制台中,可以转到Configurations > Security > Realms > file
然后Manage Users
添加具有名称,组列表和密码的新用户(用于加密和存储 keyfile中轻松为您。 asadmin命令同样提供create-file-user
以在keyfile
中创建条目。然后可以将keyfile
简单地从一个安装版本复制到另一个安装版本。然后,在流程中提及的任何组都可以在Web应用程序配置中作为角色字符串引用。
答案 0 :(得分:1)
你到底想要加密什么?
对于加密密钥库密码等,您正在寻找的是Wildfly中的保险库。请参阅https://developer.jboss.org/wiki/MaskingPasswordsForWildFlyUsingNon-interactiveVaultTool。
如果您正在寻找一种专门加密数据存储区密码的方法,您需要使用picketbox预先加密密码,并在每个数据存储区的安全子系统中使用安全域。
加密密码的示例脚本:
String URL = "http://android.com/android_test/httpget.php? +name=urlSuffix"
URL url=new URL(ur_url);
urlConnection= (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
安全域示例
#!/bin/bash
PASSWORD=$1
if [ -z "$PASSWORD" ]; then
echo "Usage: `basename $0` <password>"
exit 1
fi
JAVA_HOME="${JAVA_HOME:=/usr/java/default}"
cd /opt/wildfly/modules/system/layers/base/org/picketbox/main
$JAVA_HOME/bin/java -classpath picketbox-4.0.21.Beta1.jar \
org.picketbox.datasource.security.SecureIdentityLoginModule $PASSWORD \
| sed -e 's#Encoded password: ##'
在数据源定义中用
引用它<subsystem xmlns="urn:jboss:domain:security:1.2">
<security-domains>
...
<security-domain name="my_security_domain" cache-type="default">
<authentication>
<login-module code="org.picketbox.datasource.security.SecureIdentityLoginModule" flag="required">
<module-option name="username" value="my_username"/>
<module-option name="password" value="my_encrypted_password"/>
<module-option name="managedConnectionFactoryName" value="jboss.jca:service=LocalTxCM,name=my_datasource"/>
</login-module>
</authentication>
</security-domain>
</security-domains>
</subsystem>