1.4. 创建一个属性域
1.4.1. 在 Elytron 中创建一个引用 properties-realm 的安全域 复制链接链接已复制到粘贴板!
创建一个 properties-realm
和一个引用域的安全域,来保护您的 JBoss EAP 管理接口或您在服务器上部署的应用程序。
先决条件
- JBoss EAP 正在运行。
您有一个授权用户和一个现有的具有正确域的遗留属性文件,该域写在
users.properties
文件中注释掉的行中:示例
$EAP_HOME/standalone/configuration/my-example-users.properties
#$REALM_NAME=exampleSecurityRealm$ user1=078ed9776d4b8e63b6e51135ec45cc75
#$REALM_NAME=exampleSecurityRealm$ user1=078ed9776d4b8e63b6e51135ec45cc75
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
user1
的密码为userPassword1
。密码被哈希成文件HEX (MD5 (user1:exampleSecurityRealm:userPassword1))
。
-
users.properties
文件中列出的授权用户在groups.properties
文件中有一个角色:示例
$EAP_HOME/standalone/configuration/my-example-groups.properties
user1=Admin
user1=Admin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
流程
在 Elytron 中创建一个
properties-realm
。语法
/subsystem=elytron/properties-realm=<properties_realm_name>:add(users-properties={path=<file_path>},groups-properties={path=<file_path>})
/subsystem=elytron/properties-realm=<properties_realm_name>:add(users-properties={path=<file_path>},groups-properties={path=<file_path>})
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
/subsystem=elytron/properties-realm=exampleSecurityRealm:add(users-properties={path=my-example-users.properties,relative-to=jboss.server.config.dir,plain-text=true},groups-properties={path=my-example-groups.properties,relative-to=jboss.server.config.dir})
/subsystem=elytron/properties-realm=exampleSecurityRealm:add(users-properties={path=my-example-users.properties,relative-to=jboss.server.config.dir,plain-text=true},groups-properties={path=my-example-groups.properties,relative-to=jboss.server.config.dir})
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个引用
properties-realm
的安全域。语法
/subsystem=elytron/security-domain=<security_domain_name>:add(default-realm=<properties_realm_name>,permission-mapper=default-permission-mapper,realms=[{realm=<properties_realm_name>,role-decoder="<role_decoder_name>"}])
/subsystem=elytron/security-domain=<security_domain_name>:add(default-realm=<properties_realm_name>,permission-mapper=default-permission-mapper,realms=[{realm=<properties_realm_name>,role-decoder="<role_decoder_name>"}])
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
/subsystem=elytron/security-domain=exampleSecurityDomain:add(default-realm=exampleSecurityRealm,permission-mapper=default-permission-mapper,realms=[{realm=exampleSecurityRealm,role-decoder=groups-to-roles}])
/subsystem=elytron/security-domain=exampleSecurityDomain:add(default-realm=exampleSecurityRealm,permission-mapper=default-permission-mapper,realms=[{realm=exampleSecurityRealm,role-decoder=groups-to-roles}])
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
要验证 Elytron 是否可以从属性文件中加载数据,请使用以下命令:
语法
/subsystem=elytron/security-domain=<security_domain_name>:read-identity(name=<username>)
/subsystem=elytron/security-domain=<security_domain_name>:read-identity(name=<username>)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出确认了 Elytron 可以从属性文件加载数据。
现在,您可以使用创建的安全域来向管理界面和应用程序添加身份验证和授权。如需更多信息,请参阅 保护管理界面和应用程序。