keycloak~资源的远程授权uma
17.1远程资源授权准备
17.1.1认证和访问流程图
参考:http://www.zyiz.net/tech/detail-141309.html
17.1.2为用户指定角色
可以使用ROLE_USER和ROLE_ADMIN 两种角色
17.1.3添加认证服务和资源服务
17.1.4配置客户端的认证权限
17.1.5资源服务器打开远程授权
Policy Enforcement Mode:指定授权服务器接受到请求时策略如何执行
- Enforcing:当资源没有配置关联的策略时,请求默认被拒绝访问,这也是默认的选项
- Permissive:当资源没有配置关联的策略时,请求允许访问,但也需要先登录,否则拒绝访问
- Disabled:禁用所有资源的所有访问策略
Decision Strategy:表示权限最终是如何计算的策略,以决定相应的资源是否能获得授权
- Affirmative :至少一个权限计算做出正向决定
- Unanimous:所有的权限计算都要做出正向决定
17.1.6配置资源客户端的uma_protection角色
这一步非常重要,如果没有配置,远程授权会是403
这个参考资料:https://stackoverflow.com/questions/47199243/spring-keycloak-adapter-permissions-policy-enforcer-how-to-set-it-up
17.1.7资源和权限及策略关系图
17.2对资源授权的步骤
17.2.1建立资源
17.2.2建立策略
17.2.3建立权限
一个权限用关联一个资源和多个策略
远程授权配置
keycloak:
auth-server-url: http://localhost:8080/auth
realm: myrealm
resource: resource-server
credentials:
secret: 0da76edf-e2df-49a9-a336-6b9bc35afa7e
policy-enforcer-config:
enforcement-mode: Enforcing #Permissive远程没有配置就放行;Enforcing远程没有配置直接403
security-constraints:
- auth-roles:
- "*"
security-collections:
- name:
patterns:
- /*
注意:在keycloak管理平台配置了uma之后,咱们的应用程序需要重启才能生效
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
2018-09-21 java~springboot~h2数据库在单元测试中的使用
2018-09-21 java~springboot~ibatis数组in查询的实现
2017-09-21 EF架构~Dapper.Contrib不能将Linq翻译好发到数据库,所以请不要用它
2016-09-21 Js~动态判断PC和手机浏览器
2015-09-21 我心中的核心组件~MSMQ与Redis队列