第 2 章 Elytron 子系统
2.1. 使用基于文件系统的身份存储配置身份验证
- 在 JBoss EAP - 中配置文件系统域:- /subsystem=elytron/filesystem-realm=exampleFsRealm:add(path=fs-realm-users,relative-to=jboss.server.config.dir) - /subsystem=elytron/filesystem-realm=exampleFsRealm:add(path=fs-realm-users,relative-to=jboss.server.config.dir)- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 如果您的目录位于 - jboss.server.config.dir之外,则需要相应地更改- 路径和- 相对值。
- 添加用户: - 使用 - filesystem-realm时,您可以使用管理 CLI 添加用户。- /subsystem=elytron/filesystem-realm=exampleFsRealm:add-identity(identity=user1) /subsystem=elytron/filesystem-realm=exampleFsRealm:set-password(identity=user1, clear={password="password123"}) /subsystem=elytron/filesystem-realm=exampleFsRealm:add-identity-attribute(identity=user1, name=Roles, value=["Admin","Guest"])- /subsystem=elytron/filesystem-realm=exampleFsRealm:add-identity(identity=user1) /subsystem=elytron/filesystem-realm=exampleFsRealm:set-password(identity=user1, clear={password="password123"}) /subsystem=elytron/filesystem-realm=exampleFsRealm:add-identity-attribute(identity=user1, name=Roles, value=["Admin","Guest"])- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 添加 - simple-role-decoder:- /subsystem=elytron/simple-role-decoder=from-roles-attribute:add(attribute=Roles) - /subsystem=elytron/simple-role-decoder=from-roles-attribute:add(attribute=Roles)- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 此 - simple-role-decoder从- Roles属性解码主体的角色。如果您的角色在不同的属性中,您可以更改此值。
- 配置 - security-domain:- /subsystem=elytron/security-domain=exampleFsSD:add(realms=[{realm=exampleFsRealm,role-decoder=from-roles-attribute}],default-realm=exampleFsRealm,permission-mapper=default-permission-mapper)- /subsystem=elytron/security-domain=exampleFsSD:add(realms=[{realm=exampleFsRealm,role-decoder=from-roles-attribute}],default-realm=exampleFsRealm,permission-mapper=default-permission-mapper)- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 在 - undertow子系统中配置- application-security-domain:- /subsystem=undertow/application-security-domain=exampleApplicationDomain:add(security-domain=exampleFsSD) - /subsystem=undertow/application-security-domain=exampleApplicationDomain:add(security-domain=exampleFsSD)- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注意- 可以通过导航到 Configuration - Subsystems - Web(Under - tow)→ Application Security Domain,使用管理控制台配置 undertow 子系统中的- application-security-domain。
- 配置应用程序的 - web.xml和- jboss-web.xml:- 您的 - web.xml和- jboss-web.xml必须更新为使用您在 JBoss EAP 中配置的- application-security-domain。例如,将 Web 应用程序配置为使用 Elytron 或传统安全性进行身份验证。
您的应用程序现在使用基于文件系统的身份存储进行身份验证。