7.3.6. 将复合存储迁移到 Elytron
本节论述了如何将使用多个身份存储的 PicketBox 或旧安全域配置迁移到 Elytron。使用 PicketBox 或传统安全域时,可以定义一个配置,其中将对一个身份存储进行身份验证,而用于授权的信息则从不同的存储加载。迁移到 Elytron 时,这可以通过利用聚合安全域来实现。
以下示例使用 example-users.properties
属性文件执行用户身份验证,然后查询 LDAP 以加载组和角色信息。
显示的配置基于以下部分中的示例,它们提供了额外的背景信息:
Picketbox Composite 存储配置
在这种情况下的 PicketBox 安全域通过以下管理 CLI 命令进行配置。
示例:PicketBox 配置命令
/subsystem=security/security-domain=application-security:add /subsystem=security/security-domain=application-security/authentication=classic:add(login-modules=[ {code=UsersRoles, flag=Required, module-options={ password-stacking=useFirstPass, usersProperties=file://${jboss.server.config.dir}/example-users.properties}} {code=LdapExtended, flag=Required, module-options={ password-stacking=useFirstPass, java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory, java.naming.provider.url=ldap://localhost:10389, java.naming.security.authentication=simple, bindDN="uid=admin,ou=system", bindCredential=secret, baseCtxDN="ou=users,dc=group-to-principal,dc=wildfly,dc=org", baseFilter="(uid={0})", rolesCtxDN="ou=groups,dc=group-to-principal,dc=wildfly,dc=org",roleFilter="(uniqueMember={1})", roleAttributeID="uid" }}])
/subsystem=security/security-domain=application-security:add
/subsystem=security/security-domain=application-security/authentication=classic:add(login-modules=[ {code=UsersRoles, flag=Required, module-options={ password-stacking=useFirstPass, usersProperties=file://${jboss.server.config.dir}/example-users.properties}} {code=LdapExtended, flag=Required, module-options={ password-stacking=useFirstPass, java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory, java.naming.provider.url=ldap://localhost:10389, java.naming.security.authentication=simple, bindDN="uid=admin,ou=system", bindCredential=secret, baseCtxDN="ou=users,dc=group-to-principal,dc=wildfly,dc=org", baseFilter="(uid={0})", rolesCtxDN="ou=groups,dc=group-to-principal,dc=wildfly,dc=org",roleFilter="(uniqueMember={1})", roleAttributeID="uid" }}])
这将产生以下服务器配置:
示例:PicketBox 安全域配置
如需了解如何在 e lytron 子系统中配置聚合安全域来完成此操作,请参阅 Elytron Aggregate Security Realm Configuration
。
传统安全域复合存储配置
此场景的传统安全域配置通过以下管理 CLI 命令进行配置:
示例:传统安全域配置命令
这将产生以下服务器配置:
示例:传统安全域配置
如需了解如何在 e lytron 子系统中配置聚合安全域来完成此操作,请参阅 Elytron Aggregate Security Realm Configuration
。
Elytron Aggregate Security Realm 配置
此场景的等效的 Elytron 配置使用以下管理 CLI 命令进行配置。
示例:Elytron 配置命令
这将产生以下服务器配置:
示例:Elytron 配置
在 elytron
子系统 中,已定义了聚合域
,用于指定用于身份验证的安全域以及用于授权决策的安全域。