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> 
+0

感谢您的回复和努力引用它,但我的目标和我的问题的目的比你的回答表明更简单。在GlassFish浏览器管理控制台可以到'配置>安全>国度> file'然后'管理Users'与一个名字,组列表和密码(它存储并加密*添加新用户很容易地*在'keyfile')。 'asadmin'命令同样提供'create-file-user'来在密钥文件中创建一个条目。然后可以在安装之间简单复制密钥文件。对我的问题的答案似乎到目前为止是“不,没有相应的” –

+1

好吧,那是一个完全不同的问题。 Wildfly具有默认的ApplicationRealm,您可以通过管理控制台 - >访问控制(或使用add-user.sh在shell中)向其添加用户和组。这会生成两个文件mgmt​​-groups.properties和mgmt-users.properties,您可以将它们复制到新安装中(我们将其用于木偶安装)。那是你在找什么? –