Я пытаюсь перенести проект с использования Legacy Security на Elytron Security.
До сих пор (Legacy) все, что требовалось для работы аутентификации, - это создание Домена безопасности в Подсистемах -> Безопасность с правильным именем (" referenceApplicationDomain ").
Мой web.xml:
<web-app ..>
...
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>referencesApplicationDomain</realm-name>
</login-config>
<security-role>
<role-name>authenticated</role-name>
</security-role>
<security-role>
<role-name>anonymous</role-name>
</security-role>
<security-constraint>
<web-resource-collection>
....
</web-resource-collection>
</security-constraint>
<auth-constraint>
<role-name>authenticated</role-name>
</auth-constraint>
</security-constraint>
...
</web-app>
Мой jboss-web.xml:
<jboss-web ...>
<deny-uncovered-http-methods>false</deny-uncovered-http-methods>
<context-root>/references</context-root>
<security-domain>referencesApplicationDomain</security-domain>
</jboss-web>
Конечно, наша идея - заставить наше приложение работать только с Elytron.
Однако проблема в том, что я не вижу, где создать домен безопасности в Elytron.
Я следовал документации Wildfly Elytron , чтобы создать домен безопасности и фабрику http с помощью jboss-cli.
Когда я регистрируюсь в jboss-cli, я вижу, что домен безопасности был создан.
Однако, когда я пытаюсь запустить сервер Wildfly, я получаю следующую ошибку:
"WFLYCTL0412: Required services that are not installed:" => [
"jboss.security.security-domain.referencesApplicationDomain"
],
"WFLYCTL0180: Services with missing/unavailable dependencies" => [
"jboss.deployment.unit.\"references-war-1.0.11-SNAPSHOT.war\".component.BranchService.CREATE is missing [jboss.security.security-domain.java:/jaas/referencesApplicationDomain]"
]
Похоже, jboss пытается найти домен безопасности в старой подсистеме безопасности вместо Elytron. Но я не понимаю, почему?
Небольшое замечание: я хочу использовать ApplicaationRealm, чтобы использовать пользователей и группы в файлах конфигурации jboss.