You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Wildfly部署KEYCLOAK认证应用提示认证机制不存在如何修复?

问题修复方案

你遇到的报错核心原因是应用默认关联的Wildfly安全域没有加载KEYCLOAK认证机制,按以下步骤操作即可修复:

  • 步骤1:在应用的WEB-INF目录下新增jboss-web.xml配置文件,将应用绑定到Keycloak适配器创建的专属安全域,文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web xmlns="http://www.jboss.com/xml/ns/javaee"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss-web_13_0.xsd"
           version="13.0">
    <security-domain>KeycloakDomain</security-domain>
</jboss-web>
  • 步骤2:修改Wildfly的standalone.xml配置,将undertow默认站点关联到Keycloak的HTTP认证工厂,找到undertow子系统下的default-host配置段,修改为如下内容:
<host name="default-host" alias="localhost" http-authentication-factory="keycloak-http-authentication">

你也可以在Docker构建阶段直接通过jboss-cli完成该配置修改,避免手动改配置文件。

  • 步骤3:如果仍有类加载相关的隐藏问题,可在应用的WEB-INF目录下新增jboss-deployment-structure.xml文件,显式引入Keycloak适配器的依赖模块,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
    <deployment>
        <dependencies>
            <module name="org.keycloak.keycloak-adapter-spi" />
            <module name="org.keycloak.keycloak-adapter-core" />
            <module name="org.keycloak.keycloak-wildfly-elytron-oidc-adapter" />
        </dependencies>
    </deployment>
</jboss-deployment-structure>

完成以上操作后重新打包war包,重启Wildfly容器再重新部署应用即可解决报错。

内容的提问来源于stack exchange,提问作者Iman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 11:24:03