我正在使用 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贡献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>
添加回答
举报
0/150
提交
取消