【发布时间】:2019-12-15 10:25:02
【问题描述】:
我希望 keycloak 保护我的 Restful URL,例如:POST /user/1、DELETE /user/1。
当我在 Keycloak 中创建新资源时,我发现只有 uris ,但不存在 HTTP 方法。
那么如何区分 DELETE 和 POST。
【问题讨论】:
标签: keycloak restful-url
我希望 keycloak 保护我的 Restful URL,例如:POST /user/1、DELETE /user/1。
当我在 Keycloak 中创建新资源时,我发现只有 uris ,但不存在 HTTP 方法。
那么如何区分 DELETE 和 POST。
【问题讨论】:
标签: keycloak restful-url
Keycloak Gatekeeper 有资源的概念,你也可以在请求方法级别定义授权,例如:
resources:
- uri: /*
- uri: /users/*
methods:
- GET
roles:
- viewer
- uri: /users/*
methods:
- POST
- DELETE
roles:
- editor
【讨论】:
有一个使用授权范围的可能解决方案。您可以创建 GET、POST、DELETE 授权范围并将它们与您的资源相关联,然后创建范围基础权限。例如,当与 Spring Boot 集成时,您只需在 application.properties 中提供此设置:
keycloak.policy-enforcer-config.http-method-as-scope=true
【讨论】: