我正在使用 Tomcat 適配器運行 Keycloak。但是,當我嘗試獲取 KeycloakPrincipal 時,它會出錯;java.lang.ClassCastException: org.keycloak.KeycloakPrincipal 無法轉換為 org.keycloak.KeycloakPrincipal我的代碼非常簡單,我的環(huán)境設置與 KeyCloak 文檔所說的完全一樣。{
HttpServletRequest request = (HttpServletRequest)getApp().getFromUserStorage(HttpServletRequest.class.getName());
KeycloakPrincipal kcp = (KeycloakPrincipal) request.getUserPrincipal();
}關于這里有什么問題的任何想法?我通過谷歌搜索找到的唯一解決方案與 Maven 配置有關,但此處未使用 Maven。
3 回答

胡子哥哥
TA貢獻1825條經(jīng)驗 獲得超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
提交
取消