问题描述
我正在尝试配置 WildFly elytron 以允许在管理界面上使用两个不同的领域进行身份验证,并具有后备功能。
例如,我有一个 ManagementRealm
和一个 MyLDAPRealm
想要使用。如果用户在 ManagementRealm
中被识别,则该用户应该有权访问管理界面。如果没有,我想尝试MyLDAPRealm
。如果用户这次被识别,他应该可以访问管理界面。如果没有,它应该失败。 简单后备。
我更新了 standalone.xml
配置以使用 elytron,但它目前无法正常工作,并且文档没有达到预期的帮助。目前我有以下配置位。
管理界面正在使用我要配置的认证工厂:
<management-interfaces>
<http-interface http-authentication-factory="management-http-authentication" ssl-context="localhostSslContext">
<http-upgrade enabled="true" sasl-authentication-factory="management-sasl-authentication"/>
<socket-binding http="management-http" https="management-https"/>
</http-interface>
</management-interfaces>
认证工厂链接到我将更新的管理域:
<http-authentication-factory name="management-http-authentication" security-domain="ManagementDomain" http-server-mechanism-factory="global">
<mechanism-configuration>
<mechanism mechanism-name="DIGEST">
<mechanism-realm realm-name="Management and LDAP"/>
</mechanism>
</mechanism-configuration>
</http-authentication-factory>
<security-domain name="ManagementDomain" default-realm="ManagementRealm" permission-mapper="default-permission-mapper">
<realm name="ManagementRealm" role-decoder="groups-to-roles"/>
<realm name="MyLDAPRealm" role-decoder="groups-to-roles"/>
<realm name="local" role-mapper="super-user-mapper"/>
</security-domain>
使用此配置,如果用户在 ManagementRealm
中,则通过身份验证并允许其进入,但如果它在 MyLDAPRealm
中,则不会。
这种配置是否可行,还是我在 elytron 链中遗漏了什么?