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上面。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM