java - GET , POST , PUT , DELETE keycloak 中基于类型的身份验证

标签 java spring-boot microservices keycloak

我在一个 API 中有一个资源,其 URI 是 /product/{id} 并根据 HttpMethod< 执行三个操作 VIEW、GET、DELETE/.

我如何管理一个用户只允许VIEWadmin 允许VIEW, GET, DELETE 即所有选项。

我看过 Keycloak Adapter Policy Enforcer 但是,我不明白它是如何工作的。 我没有在创建权限中获得方法选项。

有人可以帮助我实现这个或建议一些方法吗。

最佳答案

我猜你安装 Keycloak 不仅可以控制身份验证,还可以控制授权。那么你根本不需要 Spring 安全。您需要为您的客户端启用授权并使用 Keycloak 管理控制台配置资源、策略和权限。这是 documentation

为了能够更精细地控制您的资源,请使用策略执行器并将 HTTP 方法映射到范围,如下所述:How to add HTTP methods in Keycloak resources for Authorization (Without adapters) .

一个值得一看的好例子是 authz-spring-boot .具有完整的授权流程,但没有方法限制,可以手动添加。

您还可以使用 Keycloak 上的“评估”选项卡检查您的政策如何运作。这模拟客户端调用资源并显示结果

关于java - GET , POST , PUT , DELETE keycloak 中基于类型的身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55843815/

相关文章:

java - 删除不必要的位

java - 如何从 Spring Rest Controller 发送流中的文本 block ?

java - 在 bootstrap.properties 文件中配置 Spring Cloud Config 的机制是什么?

load-balancing - 服务发现、负载平衡和连接池方法

java - 上下文初始化时遇到异常

java - Quicksort 偶尔不完成?

java - 从类变量创建参数化列表

java - 如何获得Google服务帐户的有效凭据?

java - 在我的 java 应用程序中与 paypal 服务器通信时出现 ssl 握手错误

java - 自定义 Zuul 异常