我正在尝试在具有 spring-security 和 keycloak 的 java 应用程序中同时使用领域和资源角色。不幸的是,keycloak 只会根据 的值返回一个或另一个:
keycloak.use-resource-role-mappings=true
Run Code Online (Sandbox Code Playgroud)
您仍然可以使用自定义代码获得两者,但它会混淆@PreAuthorize 或 spring-boot 方法 .isUserInRole 等注释,从而导致代码丑陋。
有没有办法覆盖 @PreAuthorize 方法或 Keycloak 返回的 JSON 令牌以同时使用领域和资源角色?目前,我的 keyclaok 实现使用自定义方法替换每个方法开始时的 @PreAuthorize,它并不漂亮。
先感谢您。