0

Все документы Wildfly (и JBoss AS) и примеры миграции Glassfish-to-Wildfly I ' я видел использование JDBCrealm, требующего настройки базы данных и некоторого другого скриптового файла конфигурации.Glassfish to Wildlfy: безопасность: у Wildlfy есть эквивалент файловой области Glassfish и ключевому файлу (включая консоль администратора/команды)

В: Есть ли эквивалент простому файловому файлу Glassfish и keyfile в Wildfly?

[EDIT:. Более объяснение встроенных функциональности я ищу]

В Glassfish браузера консоль администрирования можно перейти к Configurations > Security > Realms > file, а затем Manage Users для добавления новых пользователей с именем, группа список и пароль (для шифрования и хранения легко для вас в keyfile). Команда asadmin аналогичным образом предлагает create-file-user для создания записи в keyfile. То, что keyfile можно просто скопировать из одной установочной версии в другую. И любые группы, упомянутые во время процесса, могут затем называться ролиными строками в конфигурации веб-приложения.

ответ

1

Что именно вы пытаетесь зашифровать здесь?

Для шифрования паролей хранилища ключей и т. Д. То, что вы ищете, называется хранилищем в Wildfly. См. https://developer.jboss.org/wiki/MaskingPasswordsForWildFlyUsingNon-interactiveVaultTool.

Если вы ищете способ шифрования паролей хранилища данных, вам необходимо использовать пикет-бокс для шифрования паролей заранее и использовать домен безопасности в подсистеме безопасности для каждого хранилища данных.

Пример сценария для шифрования пароля:

#!/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 можно перейти в «Конфигурации»> «Безопасность»> «Царства»> «Файл», а затем «Управление пользователями», чтобы добавить новых пользователей с именем, списком групп и паролем (чтобы он мог легко и просто шифровать и хранить * в 'keyfile'). Команда asadmin аналогично предлагает 'create-file-user' создать запись в ключевом файле. Затем ключевой файл можно просто скопировать между установками. Ответ на мой вопрос покажется «нет, нет эквивалента». –

+1

ОК, это совсем другая проблема. У Wildfly есть ApplicationRealm по умолчанию, и вы можете добавлять к ним пользователей и группы через консоль администратора -> Контроль доступа (или в оболочке с помощью add-user.sh). Это приводит к двум файлам mgmt-groups.properties и mgmt-users.properties, которые вы можете скопировать на новые установки (мы используем это для марионеточных установок). Это то, что вы ищете? –

Смежные вопросы