我在 Spring 中有一个简单的应用程序可以使用 Keycloak 适配器登录。
这是我的代码:
@RequestMapping(value = "/admin", method = RequestMethod.GET)
public String handleAdminRequest(Principal principal, Model model) {
KeycloakPrincipal pr = (KeycloakPrincipal) principal.getUserPrincipal();
return "admin";
}
现在我遇到了 Actor 问题:
org.keycloak.adapters.springsecurity.token.KeycloakAuthenticationToken cannot be cast to org.keycloak.KeycloakPrincipal
有人可以告诉我为什么会发生这种情况吗?我该如何解决这个问题?
谢谢
最佳答案
我通过更改 pom.xml 解决了类似的问题:
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-admin-client</artifactId>
<version>${keycloak.version}</version>
<scope>provided</scope>
</dependency>
当提供范围时,与服务器上的库不会发生冲突。
关于java - 我无法在 Keycloak 适配器中启动主体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39979660/