1.5. 创建一个自定义域


1.5.1. 在 Elytron 中添加一个 custom-realm 安全域

您可以使用 custom-realm 创建一个为您的用例量身定制的 Elytron 安全域。当现有 Elytron 安全域不适合您的用例时,您可以添加一个 custom-realm

先决条件

  • JBoss EAP 已安装并运行。
  • 已安装 Maven。
  • 您有一个实现的自定义域 java 类。

流程

  1. 实现一个自定义域 java 类,并将其打包为 JAR 文件。

    $ mvn package
    Copy to Clipboard Toggle word wrap
  2. 添加一个包含自定义域实现的模块。

    语法

    module add --name=<name_of_your_wildfly_module>
    --resources=<path_to_custom_realm_jar> --dependencies=org.wildfly.security.elytron
    Copy to Clipboard Toggle word wrap

    Example

    module add --name=com.example.customrealm --resources=EAP_HOME/custom-realm.jar --dependencies=org.wildfly.security.elytron
    Copy to Clipboard Toggle word wrap

  3. 创建 custom-realm

    语法

    /subsystem=elytron/custom-realm=<name_of_your_custom_realm>:add(module=<name_of_your_wildfly_module>,class-name=<class_name_of_custom_realm_>,configuration={<configuration_option_1>=<configuration_value_1>,<configuration_option_2>=<configuration_value_2>})
    Copy to Clipboard Toggle word wrap

    Example

    /subsystem=elytron/custom-realm=example-realm:add(module=com.example.customrealm,class-name=com.example.customrealm.ExampleRealm,configuration={exampleConfigOption1=exampleConfigValue1,exampleConfigOption2=exampleConfigValue2})
    Copy to Clipboard Toggle word wrap

    注意

    本例希望实现的自定义域具有类名称 com.example.customrealm.ExampleRealm

    注意

    您可以使用 configuration 属性将 key/value 配置传给 custom-realmconfiguration 属性是可选的。

  4. 根据您创建的域定义一个安全域。

    语法

    /subsystem=elytron/security-domain=<your_security_domain_name>:add(realms=[{realm=<your_realm_name>}],default-realm=<your_realm_name>,permission-mapper=<your_permission_mapper_name>)
    Copy to Clipboard Toggle word wrap

    Example

    /subsystem=elytron/security-domain=exampleSecurityDomain:add(realms=[{realm=example-realm}],default-realm=example-realm,permission-mapper=default-permission-mapper)
    Copy to Clipboard Toggle word wrap

现在,您可以使用创建的安全域来向管理界面和应用程序添加身份验证和授权。如需更多信息,请参阅 保护管理界面和应用程序

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部