Выполните конфигурацию базы данных. Настройте базовый LDAP, необходимый для архива. На этой странице приведено руководство по новой установке защищённой версии архива, которое поясняет конфигурацию, относящуюся к Wildfly/Keycloak, и дополнительную конфигурацию, необходимую для LDAP. Установите Keycloak в качестве сервера аутентификации в режиме Standalone Server.
Содержание - Configurations - Keycloak Standalone Server Configuration - LDAP Configuration and Keycloak User Federation - Manually fix account client role mappings to users - (Optional) Register WildFly Administration Console as OIDC client in Keycloak - Wildfly Configuration - Secured UI and Unsecured RESTful services - Secured UI and Secured RESTful services - (Optional) Secure Wildfly Management Console
ПРИМЕЧАНИЕ : Приведённые ниже конфигурации Wildfly можно выполнить только для версий архива 5.16.1 и выше. Модуль JBoss QueryDSL больше не поддерживается.
$KEYCLOAK_HOME : замените на путь распакованного Keycloak Standalone Server$KEYCLOAK_WILDFLY_ADAPTER : замените на путь распакованного Keycloak Client Adapter для Wildfly $DCM4CHEE_ARC : замените на путь распакованного релиза DCM4CHEE Archive. $WILDFLY_HOME : замените на путь распакованного Wildfly 26.1.1.Final $KEYCLOAK : замените на каталоги keycloak и keystores <ldap-host> : замените на имя хоста, где будет запущен LDAP389 : замените на порт, где будет запущен LDAP (если используется не стандартный порт LDAP 389)Users DN : замените на значение, заданное при установке LDAP, если не используется значение по умолчанию ou=users,dc=dcm4che,dc=orgBind DN : замените на значение, заданное при установке LDAP, если не используется значение по умолчанию cn=admin,dc=dcm4che,dc=orgBind Credential : замените на значение, заданное при установке LDAP<keycloak-host> : замените на имя хоста, где будет запущен Keycloak<archive-host> : замените на имя хоста, где будет запущен архив5.x.x : замените на версию архива
Обратите внимание: если архив и Keycloak должны запускаться на одном хосте, измените значения стандартных портов
Wildfly в Keycloak в
$KEYCLOAK_HOME/standalone/configuration/standalone.xml и $KEYCLOAK_HOME/bin/jboss-cli.xml.
8843 : замените на порты, где будет запущен Keycloak8080, 8443, 9990, 9993 : замените на порты, где будет запущен архивmodules/system/add-ons из архива Keycloak Client Adapter для Wildfly в $KEYCLOAK_HOME/modules/system.
Также распакуйте библиотеки DCM4CHE как JBoss-модули в каталог $KEYCLOAK_HOME/modules:
> cd $KEYCLOAK_HOME
> unzip $DCM4CHEE_ARC/jboss-modules/dcm4che-jboss-modules-5.x.x.zip
> cp -R $KEYCLOAK_WILDFLY_ADAPTER/modules/system/add-ons $KEYCLOAK_HOME/modules/systemldap.properties из вашего дистрибутива в Keycloak
и keystores в установку Keycloak
в каталог $KEYCLOAK_HOME/standalone/configuration
> cd $KEYCLOAK_HOME/standalone/configuration
> mkdir keycloak
> cp $DCM4CHEE_ARC/configuration/dcm4chee-arc/ldap.properties keycloak/keycloak/ldap.properties. Замените localhost и 389 в этом файле свойств
на имя хоста и порт, где запущен ваш LDAP.> cd $KEYCLOAK_HOME/standalone/configuration
> cp -R $DCM4CHEE_ARC/configuration/keystores .Запустите ваш Keycloak Standalone Server.
````
$KEYCLOAK_HOME/bin/standalone.sh [UNIX] %KEYCLOAK_HOME%\bin\standalone.bat [Windows] ```` - Запустите JBoss CLI.
````
$KEYCLOAK_HOME/bin/jboss.sh -c [UNIX] %KEYCLOAK_HOME%\bin\jboss.bat -c [Windows]
- Добавьте следующие системные свойства.[standalone@localhost:9980 /] /system-property=super-user-role:add(value=admin) [standalone@localhost:9980 /] /system-property=org.dcm4che.audit-keycloak.AppName:add(value=keycloak) [standalone@localhost:9980 /] /system-property=keycloak.DeviceName:add(value=keycloak)- Чтобы иметь возможность подключаться к LDAP по TLS, добавьте следующее системное свойство в конфигурацию Keycloak[standalone@localhost:9980 /] /system-property=com.sun.jndi.ldap.object.disableEndpointIdentification:add(value=true) ```` - Если вашей установке требуется, чтобы события аутентификации пользователей регистрировались, настройте audit logging, добавив Events Listener и соответствующие события. Модуль audit logging в библиотеке dcm4che в настоящее время поддерживает следующие сообщения аудита: Это необходимо, поскольку события входа/выхода пользователя регистрируются согласно - User Authentication Audit : для входов / выходов пользователя
- Security Alert Audit : для обновлений пароля пользователя или для случаев, когда пользователь с правами суперпользователя производит какие-либо изменения в консоли администрирования Keycloak при входе/выходе.
[standalone@localhost:9980 /] /subsystem=keycloak-server/:list-add(name=providers,index=1,value=module:org.dcm4che.audit-keycloak)
[standalone@localhost:9980 /] /subsystem=keycloak-server/spi=eventsListener:add()
[standalone@localhost:9980 /] /subsystem=keycloak-server/spi=eventsListener/provider=dcm4che-audit:add(enabled=true)
- Добавьте CA-сертификат из конфигурации Keycloak в $KEYCLOAK_HOME/standalone/configuration/keystores/cacerts.p12
в truststore JDK
sudo -i
keytool -importkeystore -srckeystore /home/vrinda/work/secure/latest/keycloak-16.1.1/standalone/configuration/keystores/cacerts.p12 -srcstorepass secret -destkeystore /usr/lib/jvm/java-13-oracle/lib/security/cacerts -deststorepass changeit
exit
- Чтобы входы работали и по https, добавьте следующее
[standalone@localhost:9980 /] /subsystem=elytron/key-store=httpsKS:add(credential-reference={clear-text=secret},type=PKCS12,path=/home/vrinda/work/secure/latest/keycloak-16.1.1/standalone/configuration/keystores/key.p12)
[standalone@localhost:9980 /] /subsystem=elytron/key-manager=httpsKM:add(algorithm=SunX509,key-store=httpsKS,credential-reference={clear-text=secret})
[standalone@localhost:9980 /] /subsystem=elytron/server-ssl-context=httpsSSC:add(protocols=[TLSv1.2],key-manager=httpsKM)
[standalone@localhost:9980 /] /subsystem=undertow/server=default-server/https-listener=https:remove()
[standalone@localhost:9980 /] /subsystem=undertow/server=default-server/https-listener=https:add(socket-binding=https,ssl-context=httpsSSC,enable-http2=true)
[standalone@localhost:9980 /] /subsystem=keycloak-server/spi=truststore:add()
[standalone@localhost:9980 /] /subsystem=keycloak-server/spi=truststore/provider=file:add(enabled=true)
[standalone@localhost:9980 /] /subsystem=keycloak-server/spi=truststore/provider=file:map-put(name=properties,key=file,value=/usr/lib/jvm/java-13-oracle/lib/security/cacerts)
[standalone@localhost:9980 /] /subsystem=keycloak-server/spi=truststore/provider=file:map-put(name=properties,key=password,value=changeit)
[standalone@localhost:9980 /] /subsystem=keycloak-server/spi=truststore/provider=file:map-put(name=properties,key=hostname-verification-policy,value=ANY)
[standalone@localhost:9980 /] /subsystem=keycloak-server/spi=truststore/provider=file:map-put(name=properties,key=disabled,value=false)
[standalone@localhost:9980 /] /core-service=management/security-realm=ManagementRealm/authentication=ldap:add(connection=ldap,base-dn="ou=users,dc=dcm4che,dc=org",advanced-filter="(&(uid={0})(uid=admin))")
[standalone@localhost:9980 /] /core-service=management/management-interface=http-interface:write-attribute(name=ssl-context,value=httpsSSC)
[standalone@localhost:9980 /] /core-service=management/management-interface=http-interface:write-attribute(name=secure-socket-binding,value=management-https)
[standalone@localhost:9980 /] /core-service=management/ldap-connection=ldap:add(url=ldap://<ldap-host>:389,search-dn="cn=admin,dc=dcm4che,dc=org",search-credential=secret)
- Замените пути к keystore и truststore на ваши расположения keystore (в конфигурации Keycloak) и truststore (JDK)
соответственно.
- Войдите в консоль администратора Keycloak и создайте пользователя-администратора Keycloak, напр. admin\admin
https://<keycloak-host>:8843/auth/
- Перейдите в Administration console и войдите под созданным пользователем.
- Добавьте новый realm и назовите его dcm4che.
- Затем создайте OIDC-клиента со следующими значениями и нажмите Save.
Client ID : dcm4chee-arc-ui
Root URL : https://<archive-host>:8443/dcm4chee-arc/ui2
- На открывшейся после этого странице Valid Redirect URIs, Admin URL и Web Origins предзаполнены. К уже
настроенным Valid Redirect URIs и Web Origins добавьте дополнительные URL для http, используя + (Add) и Save
Web Origins : http://<archive-host>:8080
Valid Redirect URI : http://<archive-host>:8080/dcm4chee-arc/ui2/*
- Если модуль audit logging и events listener были настроены в Keycloak, как указано в одном из предыдущих пунктов,
перейдите в Events -> Config, добавьте dcm4che-audit в дополнение к существующему jboss-logging для поля
Event Listeners.
- В Login Events Settings включите (ON) поле Save Events. В списке Saved Types убедитесь, что сохраняются
следующие шесть событий.
- LOGIN
- LOGIN_ERROR
- LOGOUT
- LOGOUT_ERROR
- UPDATE_PASSWORD
- UPDATE_PASSWORD_ERROR
- В Admin Events Settings включите (ON) поле Save Events.
- Далее вы можете либо вручную добавить роли и пользователей и затем сопоставить роли с пользователями, как описано в
следующих пунктах, либо использовать
LDAP Configuration add Keycloak User Federation для управления
вашими пользователями/ролями и т.д. и синхронизации изменений пользователей LDAP с Keycloak. Преимущество последнего в
том, что вы получаете свободу в управлении вашими пользователями, их паролями и сопоставлениями ролей независимо от
изменений при обновлении Keycloak.
- Следующие пункты следует выполнять только если вы хотите вручную добавить роли, пользователей и их
соответствующие сопоставления ролей.
- Перейдите в Roles из меню слева и добавьте новые роли admin, auditlog, ADMINISTRATOR, root и user.
- Затем перейдите в Users из меню слева и создайте новых пользователей admin, root и user. Вы можете задать
пароль для этих новых пользователей на вкладке Credentials. Также вы можете решить, будет ли этот пароль
временным, выбрав нужное значение для поля Temporary.
- Далее, чтобы назначить роли пользователям, перейдите на вкладку Role Mappings пользователя. По умолчанию в
Assigned Roles показаны offline_access и uma_authorization. Выберите обе и Remove Selected. Это нужно
сделать для всех пользователей, т.е. admin, root и user.
- Для пользователя admin выберите admin и user в Realm Roles и Add Selected. Если вы хотите, чтобы этот
пользователь admin также считался пользователем-администратором Keycloak, который может выполнять различные
действия в консоли администрирования Keycloak, выберите realm-management в выпадающем списке Client Roles.
Выберите все роли в Available Roles и нажмите Add Selected.
- Для пользователя root выберите root, auditlog, ADMINISTRATOR и user в Realm Roles и Add Selected.
Кроме того, пользователь root также должен иметь возможность выполнять функции администрирования Keycloak,
поэтому выберите realm-management в выпадающем списке Client Roles и выберите все роли в Available Roles
и Add Selected.
- Для пользователя user выберите user в Realm Roles и Add Selected.
local-admin на admin в файле default-ui-config.ldif из-за
открытой нерешённой проблемы)$DCM4CHEE_ARC/ldap/default-users.ldif в LDAP. Этот файл содержит роли, имена
пользователей и пароли по умолчанию. Он также содержит различные роли realm-management, назначенные
одному из пользователей по умолчанию — admin.Add Provider как ldap в User Federation. Следующие поля должны
иметь значения, как показано ниже, остальные — без изменений. По умолчанию Console Display Name отображается как
ldap, его можно изменить при необходимости.
Edit Mode : WRITABLE
Sync Registrations : ON
Vendor : Other
Connection URL : ldap://<ldap-host>:389
Users DN : ou=users,dc=dcm4che,dc=org
Bind DN : cn=admin,dc=dcm4che,dc=org
Bind Credential : <rootpw>
Validate Password Policy : ONTest Connection и Test Authentication, чтобы проверить, что подключение к LDAP и его аутентификация
работают корректно. Save настройки и используйте Sync LDAP Roles to Keycloak. role-ldap-mapper с использованием вкладки Mappers
Name : role
Mapper Type : role-ldap-mapper
LDAP Roles DN : ou=users,dc=dcm4che,dc=org
и нажмите Save. Используйте Sync LDAP Roles to Keycloak.
Примечание : Если при установке LDAP вы настроили другое значение Users DN, измените указанное выше значение
соответствующим образом. realm-management, создайте role-ldap-mapper с использованием вкладки Mappers
Name : realm-management
Mapper Type : role-ldap-mapper
Client ID : realm-management
LDAP Roles DN : ou=realm-management,dc=dcm4che,dc=org
Use Realm Roles Mapping : OFF
и нажмите Save. Используйте Sync LDAP Roles to Keycloak. admin, user и root на странице Users в меню слева. admin, auditlog, ADMINISTRATOR, root и user на странице Roles в меню слева. Users перейдите на
вкладку Role Mappings и просмотрите список ролей в Realm Roles пользователя. Дополнительно выберите
realm-management в Client Roles, чтобы увидеть, назначены ли пользователю какие-либо роли управления realm-ом
keycloak. Примечание : Вследствие известной проблемы в Keycloak, начиная с версии 14.0.0, Keycloak не назначает автоматически роли manage-account и view-profile, которые являются частью клиента account. Вам нужно вручную назначить их созданным пользователям. Для суперпользователя root вы можете дополнительно назначить другие роли этого клиента.
Обратите внимание, что Realm role default-roles-dcm4che не требуется!



Для входов через Identity Provider см. Forward Authorization Requests
Можно также защитить доступ к консоли администрирования Wildfly с помощью Keycloak.
Создайте ещё один OIDC-клиент с wildfly-console в качестве Client ID. Введите значения для следующих полей, как
показано ниже, остальные — без изменений. Valid Redirect URI и Web Origins должны иметь по 2 значения, которые
можно добавить с помощью опции + (Add).
Root URL : https://<archive-host>:9993/console
Admin URL : https://<archive-host>:9993/console
Web Origins : http://<archive-host>:9990
: https://<archive-host>:9993
Valid Redirect URI : http://<archive-host>:9990/console
https://<archive-host>:9993/console
- Создайте роль ADMINISTRATOR и нового пользователя и сопоставьте эту роль с новым пользователем. Альтернативно можно
повторно использовать созданного ранее пользователя admin и сопоставить ему роль ADMINISTRATOR.
После завершения конфигурации архива в Wildfly, как описано в следующем разделе, защитите Wildfly Management Console
Скопируйте конфигурационные файлы в установку WildFly:
> cp -r $DCM4CHEE_ARC/configuration $WILDFLY_HOME/standalone [UNIX]
> xcopy %DCM4CHEE_ARC%\configuration %WILDFLY_HOME%\standalone\configuration [Windows]
(Select D = directory)
Примечание: Помимо конфигурации подключения LDAP dcm4chee-arc/ldap.properties, приватный ключ
keystores/key.p12 и доверенный CA-сертификат keystores/cacerts.p12, используемые в TLS-соединениях, не хранятся
в LDAP.
Убедитесь, что ваши значения для LDAP
присутствуют в файле dcm4chee-arc/ldap.properties.
- Конфигурацию Java EE 8 Full Profile можно использовать как базовую. Чтобы сохранить исходную конфигурацию WildFly,
можно скопировать оригинальный конфигурационный файл для JavaEE 8 Full Profile:
````
cd $WILDFLY_HOME/standalone/configuration/ cp standalone-full.xml dcm4chee-arc.xml
- Установите JBoss-модуль с библиотеками DCM4CHE, Keycloak admin client и Apache commons.cd $WILDFLY_HOME unzip $DCM4CHEE_ARC/jboss-modules/dcm4che-jboss-modules-5.x.x.zip- Установите библиотеки JAI Image IO 1.2 как JBoss-модуль (необходимы для сжатия/распаковки, не работает на 64-битной Windows и Mac OS X из-за отсутствия нативных компонентов для этих платформ):cd $WILDFLY_HOME unzip $DCM4CHEE_ARC/jboss-modules/jai_imageio-jboss-modules-1.2-pre-dr-b04.zip- Установите библиотеки jclouds 2.2.1 как JBoss-модули:cd $WILDFLY_HOME unzip $DCM4CHEE_ARC/jboss-modules/jclouds-jboss-modules-2.2.1-noguava.zip ```` - Установите библиотеки ecs-object-client 3.0.0 как JBoss-модули:
> cd $WILDFLY_HOME
> unzip $DCM4CHEE_ARC/jboss-modules/ecs-object-client-jboss-modules-3.0.0.zip
JDBC-драйвер можно установить либо как deployment, либо как core-модуль. См.
Установка в качестве deployment ограничена совместимыми с JDBC 4 драйверами, состоящими из одного JAR-файла.
Для установки в качестве core-модуля в $DCM4CHEE_ARC/jboss-modules/jdbc-jboss-modules-1.0.0-<database>.zip
уже предусмотрен файл определения модуля module.xml. Просто распакуйте ZIP-файл в
$WILDFLY_HOME и скопируйте файл(ы) JDBC-драйвера в подкаталог, напр.:
> cd $WILDFLY_HOME
> unzip $DCM4CHEE_ARC/jboss-modules/jdbc-jboss-modules-1.0.0-db2.zip
> cd $DB2_HOME/java
> cp db2jcc4.jar db2jcc_license_cu.jar $WILDFLY_HOME/modules/com/ibm/db2/main/
Убедитесь, что фактическое имя файла(ов) JDBC-драйвера соответствует путям в прилагаемом
module.xml, напр.:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.ibm.db2">
<resources>
<resource-root path="db2jcc4.jar"/>
<resource-root path="db2jcc_license_cu.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
Запустите WildFly в standalone-режиме с корректным конфигурационным файлом:
> $WILDFLY_HOME/bin/standalone.sh -c dcm4chee-arc.xml [UNIX]
> %WILDFLY_HOME%\bin\standalone.bat -c dcm4chee-arc.xml [Windows]
Убедитесь, что JBoss успешно запустился, напр.:
=========================================================================
JBoss Bootstrap Environment
JBOSS_HOME: /home/vrinda/work/secure/latest/wildfly-26.1.1.Final
JAVA: /usr/lib/jvm/java-13-oracle/bin/java
JAVA_OPTS: -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true --add-exports=java.desktop/sun.awt=ALL-UNNAMED --add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.management/javax.management=ALL-UNNAMED --add-opens=java.naming/javax.naming=ALL-UNNAMED -Djava.security.manager=allow
=========================================================================
11:06:04,437 INFO [org.jboss.modules] (main) JBoss Modules version 2.0.2.Final
11:06:04,815 INFO [org.jboss.msc] (main) JBoss MSC version 1.4.13.Final
11:06:04,820 INFO [org.jboss.threads] (main) JBoss Threads version 2.4.0.Final
11:06:04,905 INFO [org.jboss.as] (MSC service thread 1-2) WFLYSRV0049: WildFly Full 26.1.1.Final (WildFly Core 18.1.1.Final) starting
11:06:05,475 INFO [org.wildfly.security] (ServerService Thread Pool -- 21) ELY00001: WildFly Elytron version 1.19.0.Final
:
11:06:07,269 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 26.1.1.Final (WildFly Core 18.1.1.Final) started in 3094ms - Started 382 of 622 services (348 services are lazy, passive or on-demand) - Server configuration file in use: dcm4chee-arc.xml
Запуск JBoss в режиме domain должен работать, но пока не тестировался.
Установите Keycloak Wildfly Adapter
> $WILDFLY_HOME/bin/jboss-cli.sh -c --file=adapter-elytron-install.cli [UNIX]
> %WILDFLY_HOME%\bin\jboss-cli.bat -c --file=adapter-elytron-install.cli [Windows]
Добавьте JDBC-драйвер в конфигурацию сервера с использованием JBoss CLI в новом окне консоли:
> $WILDFLY_HOME/bin/jboss-cli.sh -c [UNIX]
> %WILDFLY_HOME%\bin\jboss-cli.bat -c [Windows]
[standalone@localhost:9990 /] /subsystem=datasources/jdbc-driver=<driver-name>:add(driver-name=<driver-name>,driver-module-name=<module-name>)
Можно выбрать любое <driver-name> для JDBC-драйвера; <module-name> должен совпадать с именем,
определённым в файле определения модуля module.xml JDBC-драйвера, напр.:
[standalone@localhost:9990 /] /subsystem=datasources/jdbc-driver=db2:add(driver-name=db2,driver-module-name=com.ibm.db2)
Создайте и включите новый Data Source, привязанный к JNDI-имени java:/PacsDS, с использованием JBoss CLI:
[standalone@localhost:9990 /] data-source add --name=PacsDS \
> --driver-name=<driver-name> \
> --connection-url=<jdbc-url> \
> --jndi-name=java:/PacsDS \
> --user-name=<user-name> \
> --password=<user-password>
[standalone@localhost:9990 /] data-source enable --name=PacsDS
Формат <jdbc-url> зависит от JDBC-драйвера, напр.:
jdbc:h2:<directory-path>/<database-name>jdbc:mysql://<host>:3306/<database-name>?serverTimezone=<timezone>jdbc:postgresql://<host>:5432/<database-name>jdbc:firebirdsql:<host>/3050:<database-name>jdbc:db2://<host>:50000/<database-name>jdbc:oracle:thin:@<host>:1521:<database-name>jdbc:sqlserver://<host>:1433;databaseName=<database-name>Также имеется CLI-скрипт $DCM4CHEE_ARC/cli/add-data-source-<db>.cli, который просто применяет две команды для
добавления JDBC-драйвера и создания Data Source. Замените <host>, <database-name>, <timezone>
(это значение можно взять из системного файла часового пояса), <user-name> и <user-password> на их фактические
значения перед выполнением:
````
$WILDFLY_HOME/bin/jboss-cli.sh -c --file=$DCM4CHEE_ARC/cli/add-data-source-
.cli - Если вы используете H2 в качестве базы данных, создайте таблицы и индексы с использованием консоли H2: - Загрузите WAR-файл H2 Console с https://github.com/sgilda/wildfly-quickstart/tree/master/h2-console - Разверните его с помощью JBoss CLI, напр.:[standalone@localhost:9990 /] deploy ~/Downloads/h2-console.war- Откройте консоль по адресу `http://<archive-host>:8080/h2console` и войдите с `JDBC URL`, `User name` и `Password`, соответствующими значениям, переданным выше в `data-source add --name=PacsDS`. - Создайте таблицы и индексы:RUNSCRIPT FROM '$DCM4CHEE_ARC/sql/create-h2.sql'- Только для версий архива вплоть до 5.23.3, создайте JMS-очереди с использованием JBoss CLI:[standalone@localhost:9990 /] jms-queue add --queue-address=StgCmtSCP --entries=java:/jms/queue/StgCmtSCP [standalone@localhost:9990 /] jms-queue add --queue-address=StgCmtSCU --entries=java:/jms/queue/StgCmtSCU [standalone@localhost:9990 /] jms-queue add --queue-address=MPPSSCU --entries=java:/jms/queue/MPPSSCU [standalone@localhost:9990 /] jms-queue add --queue-address=IANSCU --entries=java:/jms/queue/IANSCU [standalone@localhost:9990 /] jms-queue add --queue-address=Export1 --entries=java:/jms/queue/Export1 [standalone@localhost:9990 /] jms-queue add --queue-address=Export2 --entries=java:/jms/queue/Export2 [standalone@localhost:9990 /] jms-queue add --queue-address=Export3 --entries=java:/jms/queue/Export3 [standalone@localhost:9990 /] jms-queue add --queue-address=HL7Send --entries=java:/jms/queue/HL7Send [standalone@localhost:9990 /] jms-queue add --queue-address=RSClient --entries=java:/jms/queue/RSClient [standalone@localhost:9990 /] jms-queue add --queue-address=DiffTasks --entries=java:/jms/queue/DiffTasks [standalone@localhost:9990 /] jms-queue add --queue-address=Export4 --entries=java:/jms/queue/Export4 [standalone@localhost:9990 /] jms-queue add --queue-address=Export5 --entries=java:/jms/queue/Export5 [standalone@localhost:9990 /] jms-queue add --queue-address=StgVerTasks --entries=java:/jms/queue/StgVerTasks [standalone@localhost:9990 /] jms-queue add --queue-address=Export6 --entries=java:/jms/queue/Export6 [standalone@localhost:9990 /] jms-queue add --queue-address=Export7 --entries=java:/jms/queue/Export7 [standalone@localhost:9990 /] jms-queue add --queue-address=Export8 --entries=java:/jms/queue/Export8 [standalone@localhost:9990 /] jms-queue add --queue-address=Export9 --entries=java:/jms/queue/Export9 [standalone@localhost:9990 /] jms-queue add --queue-address=Export10 --entries=java:/jms/queue/Export10 [standalone@localhost:9990 /] jms-queue add --queue-address=Retrieve1 --entries=java:/jms/queue/Retrieve1 [standalone@localhost:9990 /] jms-queue add --queue-address=Retrieve2 --entries=java:/jms/queue/Retrieve2 [standalone@localhost:9990 /] jms-queue add --queue-address=Retrieve3 --entries=java:/jms/queue/Retrieve3 [standalone@localhost:9990 /] jms-queue add --queue-address=Retrieve4 --entries=java:/jms/queue/Retrieve4 [standalone@localhost:9990 /] jms-queue add --queue-address=Retrieve5 --entries=java:/jms/queue/Retrieve5 [standalone@localhost:9990 /] jms-queue add --queue-address=Retrieve6 --entries=java:/jms/queue/Retrieve6 [standalone@localhost:9990 /] jms-queue add --queue-address=Retrieve7 --entries=java:/jms/queue/Retrieve7 [standalone@localhost:9990 /] jms-queue add --queue-address=Retrieve8 --entries=java:/jms/queue/Retrieve8 [standalone@localhost:9990 /] jms-queue add --queue-address=Retrieve9 --entries=java:/jms/queue/Retrieve9 [standalone@localhost:9990 /] jms-queue add --queue-address=Retrieve10 --entries=java:/jms/queue/Retrieve10 [standalone@localhost:9990 /] jms-queue add --queue-address=Retrieve11 --entries=java:/jms/queue/Retrieve11 [standalone@localhost:9990 /] jms-queue add --queue-address=Retrieve12 --entries=java:/jms/queue/Retrieve12 [standalone@localhost:9990 /] jms-queue add --queue-address=Retrieve13 --entries=java:/jms/queue/Retrieve13Также имеется CLI-скрипт `$DCM4CHEE_ARC/cli/add-jms-queues.cli`, содержащий эти команды, который можно просто выполнить:$WILDFLY_HOME/bin/jboss-cli.sh -c --file=$DCM4CHEE_ARC/cli/add-jms-queues.cli ```` Примечание : Начиная с версии архива 5.24.0, добавление JMS-очередей не требуется.
Включите замену свойств в дескрипторах развёртывания, установив атрибут spec-descriptor-property-replacement
подсистемы ee в true, и скорректируйте конфигурацию managed-executor-services и
managed-scheduled-executor-service подсистемы ee, чтобы избежать проблем с пулом потоков при длительных задачах
или высокой нагрузке, используя JBoss CLI — вы можете настроить большее максимальное число потоков, чем 100, в
соответствии с вашими потребностями:
[standalone@localhost:9990 /] /subsystem=ee:write-attribute(name=spec-descriptor-property-replacement,value=true)
[standalone@localhost:9990 /] /subsystem=ee/managed-executor-service=default:undefine-attribute(name=hung-task-threshold)
[standalone@localhost:9990 /] /subsystem=ee/managed-executor-service=default:write-attribute(name=long-running-tasks,value=true)
[standalone@localhost:9990 /] /subsystem=ee/managed-executor-service=default:write-attribute(name=core-threads,value=2)
[standalone@localhost:9990 /] /subsystem=ee/managed-executor-service=default:write-attribute(name=max-threads,value=100)
[standalone@localhost:9990 /] /subsystem=ee/managed-executor-service=default:write-attribute(name=queue-length,value=0)
[standalone@localhost:9990 /] /subsystem=ee/managed-scheduled-executor-service=default:undefine-attribute(name=hung-task-threshold)
[standalone@localhost:9990 /] /subsystem=ee/managed-scheduled-executor-service=default:write-attribute(name=long-running-tasks,value=true)
[standalone@localhost:9990 /] /subsystem=ee/managed-scheduled-executor-service=default:write-attribute(name=core-threads,value=2)
По умолчанию DCM4CHEE Archive 5.x использует dcm4chee-arc в качестве Device Name для поиска своей
конфигурации на сервере LDAP. Можно указать другое Device Name через системное свойство
dcm4chee-arc.DeviceName с использованием JBoss CLI:
[standalone@localhost:9990 /] /system-property=dcm4chee-arc.DeviceName:add(value=<device-name>)
[standalone@localhost:9990 /] /system-property=super-user-role:add(value=admin)
[standalone@localhost:9990 /] /system-property=realm-name:add(value=dcm4che)
[standalone@localhost:9990 /] /system-property=auth-server-url:add(value=https://<keycloak-host>:8843/auth)https, настройте следующее:
[standalone@localhost:9990 /] /subsystem=elytron/key-store=httpsKS:add(credential-reference={clear-text=secret},type=PKCS12,path=/home/vrinda/work/secure/latest/wildfly-26.1.1.Final/standalone/configuration/keystores/key.p12)
[standalone@localhost:9990 /] /subsystem=elytron/key-manager=httpsKM:add(algorithm=SunX509,key-store=httpsKS,credential-reference={clear-text=secret})
[standalone@localhost:9990 /] /subsystem=elytron/server-ssl-context=httpsSSC:add(protocols=[TLSv1.2],key-manager=httpsKM)
[standalone@localhost:9990 /] /core-service=management/management-interface=http-interface:write-attribute(name=ssl-context,value=httpsSSC)
[standalone@localhost:9990 /] /core-service=management/management-interface=http-interface:write-attribute(name=secure-socket-binding,value=management-https)
[standalone@localhost:9990 /] /subsystem=undertow/server=default-server/https-listener=https:remove()
[standalone@localhost:9990 /] /subsystem=undertow/server=default-server/https-listener=https:add(socket-binding=https,ssl-context=httpsSSC,enable-http2=true)path на путь к вашему keystore. По умолчанию Wildfly поддерживает максимальный размер POST-запросов только 10 МБ; его можно увеличить, как показано ниже:
[standalone@localhost:9990 /] /subsystem=undertow/server=default-server/http-listener=default:write-attribute(name=max-post-size,value=10000000000) [standalone@localhost:9990 /] /subsystem=undertow/server=default-server/https-listener=https:write-attribute(name=max-post-size,value=10000000000)
Вам нужно перезагрузить конфигурацию — или перезапустить Wildfly — чтобы изменения вступили в силу:
[standalone@localhost:9990 /] :reload
http://<archive-host>:8080/dcm4chee-arc/ui2/subsystem=keycloak/secure-deployment=dcm4chee-arc-ui2-5.x.x-secure.war/:add(realm=dcm4che,resource=dcm4chee-arc-ui,auth-server-url=https://<keycloak-host>:8843/auth,ssl-required=external,public-client=true,truststore=/home/vrinda/work/secure/latest/wildfly-26.1.1.Final/standalone/configuration/keystores/cacerts.p12,truststore-password=secret,allow-any-hostname=true)truststore на расположение truststore в wildfly вашего архива. > $WILDFLY_HOME/bin/jboss-cli.sh -c [UNIX]
> %WILDFLY_HOME%\bin\jboss-cli.bat -c [Windows]
[standalone@localhost:9999 /] deploy $DCM4CHEE_ARC/deploy/dcm4chee-arc-ear-5.x.x-psql-secure-ui.ear> $WILDFLY_HOME/bin/jboss-cli.sh -c [UNIX]
> %WILDFLY_HOME%\bin\jboss-cli.bat -c [Windows]
[standalone@localhost:9999 /] deploy $DCM4CHEE_ARC/deploy/dcm4chee-arc-ear-5.x.x-psql.ear
[standalone@localhost:9999 /] deploy $DCM4CHEE_ARC/deploy/dcm4chee-arc-ui2-5.x.x-secure-ui.war/subsystem=keycloak/secure-deployment=dcm4chee-arc-ui2-5.x.x-secure.war/:add(realm=dcm4che,resource=dcm4chee-arc-ui,auth-server-url=https://<keycloak-host>:8843/auth,ssl-required=external,public-client=true,truststore=/home/vrinda/work/secure/latest/wildfly-26.1.1.Final/standalone/configuration/keystores/cacerts.p12,truststore-password=secret,allow-any-hostname=true)
/subsystem=keycloak/secure-deployment=dcm4chee-arc-war-5.x.x-secure.war/:add(realm=dcm4che,resource=dcm4chee-arc-rs,auth-server-url=https://<keycloak-host>:8843/auth,ssl-required=external,bearer-only=true,truststore=/home/vrinda/work/secure/latest/wildfly-26.1.1.Final/standalone/configuration/keystores/cacerts.p12,truststore-password=secret,allow-any-hostname=true)truststore на расположение truststore в wildfly вашего архива. dcm4chee-arc-rs установлено bearer-only = true. Это означает,
что если какие-либо приложения, отличные от DCM4CHEE Archive UI (напр., Viewers), используют защищённые RESTful-сервисы,
эти приложения должны отправлять заголовок запроса Authorization с Bearer <token>. См.
Get OIDC Access Token using curl. UI архива (как клиент) уже обрабатывает этот случай. > $WILDFLY_HOME/bin/jboss-cli.sh -c [UNIX]
> %WILDFLY_HOME%\bin\jboss-cli.bat -c [Windows]
[standalone@localhost:9999 /] deploy $DCM4CHEE_ARC/deploy/dcm4chee-arc-ear-5.x.x-psql-secure.ear> $WILDFLY_HOME/bin/jboss-cli.sh -c [UNIX]
> %WILDFLY_HOME%\bin\jboss-cli.bat -c [Windows]
[standalone@localhost:9999 /] deploy $DCM4CHEE_ARC/deploy/dcm4chee-arc-ear-5.x.x-psql-secure.ear
[standalone@localhost:9999 /] deploy $DCM4CHEE_ARC/deploy/dcm4chee-arc-ui2-5.x.x-psql-secure.warwildfly-console и wildfly-management в подсистему Keycloak Standalone Server в Wildfly вашего DCM4CHEE
Archive, как показано ниже
/subsystem=keycloak/secure-deployment=wildfly-console/:add(realm=dcm4che,resource=wildfly-console,auth-server-url=https://<keycloak-host>:8843/auth,ssl-required=external,public-client=true,truststore=/home/vrinda/work/secure/latest/wildfly-26.1.1.Final/standalone/configuration/keystores/cacerts.p12,truststore-password=secret,allow-any-hostname=true)
/subsystem=keycloak/secure-deployment=wildfly-management/:add(realm=dcm4che,resource=wildfly-management,auth-server-url=https://<keycloak-host>:8843/auth,ssl-required=external,bearer-only=true,truststore=/home/vrinda/work/secure/latest/wildfly-26.1.1.Final/standalone/configuration/keystores/cacerts.p12,truststore-password=secret,allow-any-hostname=true)truststore на расположение truststore в wildfly вашего архива.
Выйдите из системы, прежде чем проверять, что обращение к консоли администрирования WildFly по адресу
http://<archive-host>:9990 или https://<archive-host>:9993 перенаправит вас на страницу входа Keycloak. Войдите под
новым созданным пользователем/паролем или admin/admin.