首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >消息:意外元素'{urn:jboss:domain:keycloak:1.1}subsystem‘

消息:意外元素'{urn:jboss:domain:keycloak:1.1}subsystem‘
EN

Stack Overflow用户
提问于 2021-01-03 19:13:54
回答 1查看 438关注 0票数 0

我正在尝试在我的应用程序中使用keycloak。我在docker上运行keycloak,并使用wildfly 20作为应用服务器。我使用这个scrypt来启动keycloak。

代码语言:javascript
运行
复制
version: '3'

services:
  keycloak:
      image: quay.io/keycloak/keycloak:10.0.1
      container_name: keycloak
      environment:
        DB_VENDOR: postgres
        DB_ADDR: host.docker.internal
        DB_USER: keycloak
        DB_PASSWORD: test
        KEYCLOAK_USER: admin
        KEYCLOAK_PASSWORD: test
      ports:
        - 8079:8080
        - 8443:8443

然后我将这个代码片段添加到我的standalone.xml中

代码语言:javascript
运行
复制
<subsystem xmlns="urn:jboss:domain:keycloak:1.1">
       <secure-deployment name="pato-ejb.war">
          <realm>pato</realm>
          <auth-server-url>http://localhost:8079/auth</auth-server-url>
          <ssl-required>external</ssl-required>
          <resource>pato</resource>
          <credential name="secret">password</credential>
       </secure-deployment>
    </subsystem>

和安全设置到我的web.xml

代码语言:javascript
运行
复制
<security-constraint>
        <web-resource-collection>
            <web-resource-name></web-resource-name>
            <description>Protects all resources</description>
            <url-pattern>*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>admin</role-name>
        </auth-constraint>
    </security-constraint>
    <security-role>
        <role-name>admin</role-name>
    </security-role>
    <login-config>
        <auth-method>KEYCLOAK</auth-method>
        <realm-name>pato</realm-name>
    </login-config>

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>user/</web-resource-name>
            <url-pattern>/user/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>user</role-name>
        </auth-constraint>
    </security-constraint>
    <security-role>
        <role-name>user</role-name>
    </security-role>

最后,我在jboss folder with jars中添加了密钥罩jars

当我启动standalone.bat时,我立即得到了这个错误

代码语言:javascript
运行
复制
11:41:14,220 ERROR [org.jboss.as.controller] (Controller Boot Thread)

OPVDX001: Validation error in standalone.xml -----------------------------------
|
|  521: </subsystem>
|  522: <subsystem xmlns="urn:jboss:domain:weld:4.0"/>
|  523: <subsystem xmlns="urn:jboss:domain:keycloak:1.1">
|       ^^^^ Unexpected element '{urn:jboss:domain:keycloak:1.1}subsystem'
|
|  524:    <secure-deployment name="pato-ejb.war">
|  525:       <realm>pato</realm>
|  526:       <auth-server-url>http://localhost:8079/auth</auth-server-url>
|
| The primary underlying error message was:
| > ParseError at [row,col]:[523,9]
| > Message: Unexpected element '{urn:jboss:domain:keycloak:1.1}subsystem'
|
|-------------------------------------------------------------------------------

11:41:14,223 ERROR [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0055: Caught exception during boot: org.jboss.as.controller.persistence.ConfigurationPersistenceException: WFLYCTL0085: Failed to parse configuration
        at org.jboss.as.controller@12.0.1.Final//org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:143)
        at org.jboss.as.server@12.0.1.Final//org.jboss.as.server.ServerService.boot(ServerService.java:395)
        at org.jboss.as.controller@12.0.1.Final//org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:416)
        at java.base/java.lang.Thread.run(Thread.java:834)

11:41:14,227 FATAL [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0056: Server boot has failed in an unrecoverable manner; exiting. See previous messages for details.
EN

回答 1

Stack Overflow用户

发布于 2021-01-04 02:05:25

Keycloak Downloads中,您将看到“客户端适配器”部分。这是一个解压到Wildfly目录中的.zip or.tar.gz文件。虽然有了所需的.jar文件,但缺少所有的module.xml文件。打开当前版本,您将看到所需的文件。此外,还有一些安装文件可以对您的standalone.xml进行更改以启用Keycloak。当前的层次结构如下所示:

代码语言:javascript
运行
复制
.
├── bin
│   ├── adapter-elytron-install.cli
│   ├── adapter-elytron-install-offline.cli
│   ├── adapter-install.cli
│   └── adapter-install-offline.cli
├── docs
│   └── licenses-keycloak
│       ├── licenses.css
│       ├── licenses.html
│       ├── licenses.xml
│       ├── licenses.xsl
│       ├── org.keycloak,keycloak-adapter-core,12.0.1,Apache Software License 2.0.txt
│       ├── org.keycloak,keycloak-adapter-spi,12.0.1,Apache Software License 2.0.txt
│       ├── org.keycloak,keycloak-authz-client,12.0.1,Apache Software License 2.0.txt
│       ├── org.keycloak,keycloak-common,12.0.1,Apache Software License 2.0.txt
│       ├── org.keycloak,keycloak-core,12.0.1,Apache Software License 2.0.txt
│       ├── org.keycloak,keycloak-jboss-adapter-core,12.0.1,Apache Software License 2.0.txt
│       ├── org.keycloak,keycloak-undertow-adapter,12.0.1,Apache Software License 2.0.txt
│       ├── org.keycloak,keycloak-undertow-adapter-spi,12.0.1,Apache Software License 2.0.txt
│       ├── org.keycloak,keycloak-wildfly-adapter,12.0.1,Apache Software License 2.0.txt
│       ├── org.keycloak,keycloak-wildfly-elytron-oidc-adapter,12.0.1,Apache Software License 2.0.txt
│       └── org.keycloak,keycloak-wildfly-subsystem,12.0.1,Apache Software License 2.0.txt
└── modules
    └── system
        └── add-ons
            └── keycloak
                └── org
                    └── keycloak
                        ├── keycloak-adapter-core
                        │   └── main
                        │       ├── keycloak-adapter-core-12.0.1.jar
                        │       └── module.xml
                        ├── keycloak-adapter-spi
                        │   └── main
                        │       ├── keycloak-adapter-spi-12.0.1.jar
                        │       ├── keycloak-undertow-adapter-spi-12.0.1.jar
                        │       └── module.xml
                        ├── keycloak-adapter-subsystem
                        │   └── main
                        │       └── module.xml
                        ├── keycloak-authz-client
                        │   └── main
                        │       ├── keycloak-authz-client-12.0.1.jar
                        │       └── module.xml
                        ├── keycloak-common
                        │   └── main
                        │       ├── keycloak-common-12.0.1.jar
                        │       └── module.xml
                        ├── keycloak-core
                        │   └── main
                        │       ├── keycloak-core-12.0.1.jar
                        │       └── module.xml
                        ├── keycloak-jboss-adapter-core
                        │   └── main
                        │       ├── keycloak-jboss-adapter-core-12.0.1.jar
                        │       └── module.xml
                        ├── keycloak-undertow-adapter
                        │   └── main
                        │       ├── keycloak-undertow-adapter-12.0.1.jar
                        │       └── module.xml
                        ├── keycloak-wildfly-adapter
                        │   └── main
                        │       ├── keycloak-wildfly-adapter-12.0.1.jar
                        │       └── module.xml
                        ├── keycloak-wildfly-elytron-oidc-adapter
                        │   └── main
                        │       ├── keycloak-wildfly-elytron-oidc-adapter-12.0.1.jar
                        │       └── module.xml
                        └── keycloak-wildfly-subsystem
                            └── main
                                ├── keycloak-wildfly-subsystem-12.0.1.jar
                                └── module.xml

我鼓励您在Docker之外的本地环境中安装Keycloak,以了解这一切是如何结合在一起的。These steps将引导您完成整个过程,但基本上是将文件解压缩到Wildfly主目录,并在bin目录中运行适当的脚本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65549164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档