keycloak~授权功能的使用

keycloak提供了完善的授权功能,即在kc端对资源服务器的各种资源进行管理,然后就可以完成对它们的管控,这些资源可以根据kc的用户、角色、组等信息进行授权。

资源服务器客户端配置

  • 以springboot接口KC为例,说一下它的配置文件
keycloak:
  auth-server-url: http://192.168.xx.xx:8080/auth
  realm: fabao
  resource: democlient # client-id
  client-key-password: ec0fd1c6-68b0-4c39-a9fa-c3be25c8ef01 #客户端密钥
  credentials.secret: ec0fd1c6-68b0-4c39-a9fa-c3be25c8ef01 #客户端密钥,policy-enforcer-config.enforcement-mode: ENFORCING时,需要添加这个值
  principal-attribute: preferred_username # principal.getName()返回为用户名
  policy-enforcer-config:
    enforcement-mode: ENFORCING #kc远程授权方式
  security-constraints:
    - auth-roles:
        - "*"
      security-collections:
        - name:
          patterns:
            - /*

kc远程集中授权图

  • 流程图
  • 策略与权限
  • 资源与权限scope

kc服务端-资源服务器配置

  1. 需要为当前客户端,添加它的uma_protected角色
  2. 开启远程授权
  3. 添加资源
  4. 添加策略
  5. 添加权限,实现了为资源绑定策略

说明

上面各图中,配置了资源admin-resource,路径是admin开头的uri;配置了策略admin,包换ROLE_ADMIN角色的人;配置了admin-permission权限,让它绑定了admin策略,最后把它绑定到资源admin-resource上面。

posted @   张占岭  阅读(2271)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
历史上的今天:
2017-10-25 ELK系列~nxlog实现多位置文件的收集
2017-10-25 ELK系列~log4-nxlog-Fluentd-elasticsearch写json数据需要注意的几点
2012-10-25 EF架构~将数据库注释添加导入到模型实体类中
点击右上角即可分享
微信分享提示