zoukankan      html  css  js  c++  java
  • SpringSecurity 原理(二)

    感谢黑马程序员!http://www.itheima.com/

    Oauth2.0 提供的认证授权模式:

    1. 授权码模式
    
    2. 密码模式
    
    3. 客户端模式
    
    4. 简化模式

     资源地址和权限,什么时候初始化到 spring 容器中的?借助:DefaultSingletonBeanRegistry

    初始化 beanName:springSecurityFilterChain 时
    存入 DefaultFilterInvocationSecurityMetadataSource 的 requestMap

    如图:

     分布式认证授权方案:OAuth2.0

    springboot-security 基本搭建:

     

     

     

     说明:

    1、客户端请求第三方授权 
    用户进入黑马程序的登录页面,点击微信的图标以微信账号登录系统,用户是自己在微信里信息的资源拥有者。
    点击“微信”出现一个二维码,此时用户扫描二维码,开始给黑马程序员授权。
    2、资源拥有者同意给客户端授权 
    资源拥有者扫描二维码表示资源拥有者同意给客户端授权,微信会对资源拥有者的身份进行验证, 验证通过后
    ,微信会询问用户是否给授权黑马程序员访问自己的微信数据,用户点击“确认登录”表示同意授权,微信认证
    服务器会 颁发一个授权码,并重定向到黑马程序员的网站。
    3、客户端获取到授权码,请求认证服务器申请令牌
    此过程用户看不到,客户端应用程序请求认证服务器,请求携带授权码。
    4、认证服务器向客户端响应令牌
    微信认证服务器验证了客户端请求的授权码,如果合法则给客户端颁发令牌,令牌是客户端访问资源的通行证。
    此交互过程用户看不到,当客户端拿到令牌后,用户在黑马程序员看到已经登录成功。
    5、客户端请求资源服务器的资源
    客户端携带令牌访问资源服务器的资源。 黑马程序员网站携带令牌请求访问微信服务器获取用户的基本信息。
    6、资源服务器返回受保护资源
    资源服务器校验令牌的合法性,如果合法则向用户响应资源信息内容。

     

  • 相关阅读:
    (转)C#中的那些全局异常捕获
    mysql 5.7 MGR
    mysql 5.7 MGR
    perl 获取响应头
    python 获取响应头
    研究生开咖啡厅,年盈利15万,欲打造重庆咖啡文化
    女学生经营二手服装租赁,年营业额突破300万
    在校学生看中餐饮外送行业,企业估值500亿
    导演跨界跳入椰子水“新泳池”,一举占领椰子产品市场
    在校女学生,掌管27家卤味连锁店
  • 原文地址:https://www.cnblogs.com/xiluhua/p/14197543.html
Copyright © 2011-2022 走看看