为了账号安全,请及时绑定邮箱和手机立即绑定

带有 Tomcat 的 Keycloak:org.keycloak.KeycloakPrincipa

带有 Tomcat 的 Keycloak:org.keycloak.KeycloakPrincipa

aluckdog 2023-06-14 10:47:18
我正在使用 Tomcat 适配器运行 Keycloak。但是,当我尝试获取 KeycloakPrincipal 时,它会出错;java.lang.ClassCastException: org.keycloak.KeycloakPrincipal 无法转换为 org.keycloak.KeycloakPrincipal我的代码非常简单,我的环境设置与 KeyCloak 文档所说的完全一样。{        HttpServletRequest request = (HttpServletRequest)getApp().getFromUserStorage(HttpServletRequest.class.getName());     KeycloakPrincipal kcp = (KeycloakPrincipal) request.getUserPrincipal(); }关于这里有什么问题的任何想法?我通过谷歌搜索找到的唯一解决方案与 Maven 配置有关,但此处未使用 Maven。
查看完整描述

3 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

从 WEB-INF 目录中移除 keycloak 适配器可以解决此问题。



查看完整回答
反对 回复 2023-06-14
?
胡子哥哥

TA贡献1825条经验 获得超6个赞

我也遇到了同样的问题。

解决方案 :

a) Project/maven keycloak jar 和 tomcat/lib keycloak jar 应该有相同的版本

b) 添加 pom.xml 中提供的范围

<dependency>
        <groupId>org.keycloak</groupId>
        <artifactId>keycloak-core</artifactId>
        <version>17.0.0</version>
        <scope>provided</scope>
    </dependency>


查看完整回答
反对 回复 2023-06-14
?
狐的传说

TA贡献1804条经验 获得超3个赞

我发现了问题。我的一个图书馆引起了冲突。



查看完整回答
反对 回复 2023-06-14
  • 3 回答
  • 0 关注
  • 178 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信