我在一个 API 中有一个资源,其 URI 是 /product/{id}
并根据 HttpMethod< 执行三个操作
.VIEW、GET、DELETE
/
我如何管理一个用户只允许VIEW
和 admin
允许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/