Wildfly安全子系统:从Legacy迁移到Elytron,找不到安全域



我正在尝试将一个项目从使用Legacy Security迁移到使用Elytron Security。

到目前为止(Legacy),身份验证所需的一切都是在子系统->安全中创建一个具有正确名称的安全域(">referencesApplicationDomain")。

我的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文档,使用jboss-cli创建了安全域和http工厂。

当我检查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。但我不明白为什么?

备注:我想使用ApplicationRealm,使用jboss配置文件中的用户和组。

事实证明,Elytron不需要这一点(事实上,它仅用于Legacy)。因此,解决方案只是从xml文件中删除这些:

web.xml

<web-app ..>
...
<login-config>
<auth-method>BASIC</auth-method>
<!--<realm-name>referencesApplicationDomain</realm-name>-->
</login-config>
</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>

这是有效的,因为默认情况下,Wildlfly的底层系统使用ApplicationRealm作为默认安全域。您可以通过查看您的standalone.xml.来验证这一点

相关内容

  • 没有找到相关文章

最新更新