• 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、资源服务器返回受保护资源
    资源服务器校验令牌的合法性,如果合法则向用户响应资源信息内容。

     

  • 相关阅读:
    kioptrix-1
    4.4 CSRF
    upload-labs 练习笔记
    4.3 XSS
    外国人是怎样读编程书的呢?
    如何快速学习新语言
    Go开发环境配置
    Golang Package I
    MVC模式小结
    Flask基础知识
  • 原文地址:https://www.cnblogs.com/xiluhua/p/14197543.html
Copyright © 2020-2023  润新知