zoukankan      html  css  js  c++  java
  • OAuth2.0学习(1-13)oauth2.0 的概念:资源、权限(角色)和scope

    mkk 关于资源的解释 : https://andaily.com/blog/?cat=19

    resource用于将系统提供的各类资源进行分组管理,

    每一个resource对应一个resource-id, 而一个client details至少要有一个resource-id (对应OauthClientDetails.resourceIds oauth_client_details.resource_ids).

    1、配置resourceId

    在spring-oauth-server的security.xml配置了两个资源id:

    这就是配置resource的地方, 看见里面的两个resource-id值.

    2、使用resourceId

    在spring-oauth-server的security.xml配置了两个<http>配置, 一个的pattern为/m/**, 另一个为/unity/**,

    这就是资源与Spring Security整合后的配置,

    注意每个<http>配置里的 ROLE_UNITY与ROLE_MOBILE, 这对应Spring Security的权限,应数据库中的user_.previllage:

    同理 scope_read字段对应数据库中的oauth_client_details.scope.

    接着我们添加一个自己的resource, 假设resource-id = myResource, url pattern为/my/api/**, 权限为ROLE_MY_RESOURCE, scope为 read; 其配置如下:

    1.添加<oauth2:resource-server> , resource-id=myResource

       如下:

    <oauth2:resource-server id="myResourceServer" resource-id="myResource" token-services-ref="tokenServices"/>

      注意, id值需要唯一
    2.添加<http>配置,

       如下:

    <http pattern="/my/api/**" create-session="never" entry-point-ref="oauth2AuthenticationEntryPoint"
          access-decision-manager-ref="oauth2AccessDecisionManager" use-expressions="false">
        <anonymous enabled="false"/>
    
        <intercept-url pattern="/my/api/**" access="ROLE_MY_RESOURCE,SCOPE_READ"/>
    
        <custom-filter ref="myResourceServer" before="PRE_AUTH_FILTER"/>
        <access-denied-handler ref="oauth2AccessDeniedHandler"/>
        <csrf disabled="true"/>
    </http>

    说明: 一个<resource-server>可以配置多个<http>, 使用不同的url pattern

    OK, 配置完成, 新增resource: myResource;

    这时候, 所有以/my/api/** 开头的URL请求都将受到 OAUTH2的保护,

    接下来在业务中创建client details, 记得把resourceIds设置为myResource,且要有ROLE_MY_RESOURCE的权限.

  • 相关阅读:
    Robotium 测试方法
    T-SQL—理解CTEs
    SQLServer复制(二)--事务代理作业
    数据库复制(一)--复制介绍
    小议如何使用APPLY
    优化SQLServer——表和分区索引(二)
    关于UNPIVOT 操作符
    XML 在SQLServer中的使用
    列存储索引1:初识列存储索引
    T-SQL性能调整(一)--编译和重新编译
  • 原文地址:https://www.cnblogs.com/lexiaofei/p/7061392.html
Copyright © 2011-2022 走看看