Glassfish到Wildlfy:安全性:Wildlfy是否具有与Glassfish文件领域和密钥文件(包括管理控制台/命令支持)相同的功能

时间:2016-09-15 09:46:06

标签: glassfish wildfly wildfly-10 glassfish-4.1 glassfish-4.1.1

我见过的所有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应用程序配置中作为角色字符串引用。

1 个答案:

答案 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>