GlassFish在Wildlfy:安全性:不Wildlfy有相当于Glassfish的文件境界和密钥文件(含管理控制台/命令支持)
问题描述:
所有Wildfly(和JBoss AS)的文档和Glassfish到Wildfly迁移的例子我已经看到使用JDBCrealm需要数据库设置和其他一些配置文件摆弄。GlassFish在Wildlfy:安全性:不Wildlfy有相当于Glassfish的文件境界和密钥文件(含管理控制台/命令支持)
问:是否有与Wildfly中简单的Glassfish文件领域和keyfile
等价的东西?
[编辑:的内置功能我寻求更多的解释]
在GlassFish浏览器管理控制台可以到Configurations > Security > Realms > file
然后Manage Users
与一个名字添加新用户,组列表和密码(它加密和存储容易你在keyfile
)。 asadmin命令同样提供create-file-user
以在keyfile
中创建条目。那么keyfile
可以简单地从一个安装版本复制到另一个。然后,在此过程中提到的任何组都可以在Web应用程序配置中作为角色字符串引用。
答
究竟是什么你想在这里加密什么?
加密密钥存储密码和类似的,你正在寻找被称为Wildfly保管库。见https://developer.jboss.org/wiki/MaskingPasswordsForWildFlyUsingNon-interactiveVaultTool。
如果你正在寻找一种方式来专门加密数据存储的密码,你需要使用picketbox对密码进行加密事先,并在每个数据存储的安全子系统使用一个安全域。
示例脚本加密密码:
#!/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>
而且在数据源定义与
<subsystem xmlns="urn:jboss:domain:datasources:3.0">
</datasources>
<datasource pool-name="my_datasource"...>
...
<security>
<security-domain>my_security_domain</security-domain>
</security>
</datasource>
</subsystem>
感谢您的回复和努力引用它,但我的目标和我的问题的目的比你的回答表明更简单。在GlassFish浏览器管理控制台可以到'配置>安全>国度> file'然后'管理Users'与一个名字,组列表和密码(它存储并加密*添加新用户很容易地*在'keyfile')。 'asadmin'命令同样提供'create-file-user'来在密钥文件中创建一个条目。然后可以在安装之间简单复制密钥文件。对我的问题的答案似乎到目前为止是“不,没有相应的” –
好吧,那是一个完全不同的问题。 Wildfly具有默认的ApplicationRealm,您可以通过管理控制台 - >访问控制(或使用add-user.sh在shell中)向其添加用户和组。这会生成两个文件mgmt-groups.properties和mgmt-users.properties,您可以将它们复制到新安装中(我们将其用于木偶安装)。那是你在找什么? –