java - 我无法在 Keycloak 适配器中启动主体

标签 java spring spring-security keycloak

我在 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/

相关文章:

Java - 如何中断繁忙的线程

java - 如何解码android.os.Build.SERIAL?

java - 使用 Maven 更改模块版本

java - Spring 无法在 Controller 中 Autowiring 存储库

java - Spring Security 配置 - HttpSecurity 与 WebSecurity

java - 使用浏览器获取请求发送 JWT token

tomcat - 如何将用于 java 类路径的库链接起来?

javascript - 通过javascript创建一个spring表单并附加到div中

java - 错误 java.lang.IllegalArgumentException : Name for argument type [java. lang.String]

java - 如何在 Spring 中处理 MultipartException