• 大佬神作!Spring Security从应用到源码,这份手册都讲全了,已三刷


    简介

    平时我们写 Web 项目,都需要用户登录时验证,以及权限管理之类的操作,以前使用过滤器,拦截器等进行管理,原生代码较多。
    所以出现了安全框架以供我们使用,安全框架在 Web 应用的主要功能是:

    认证
    授权

    使用的较多的安全框架有两个:shiro、Spring Security
    Spring Security 是 Spring家族中的一个安全管理框架,相比与另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富。
    两个框架的主要功能相差不大,核心功能依旧是:认证、授权。
    Spring Security 的几个重要类:

    WebSecurityConfigurerAdapter:自定义 Sercurity 策略
    AuthenticationManagerBuilfer:自定义认证策略
    @EnableWebSecurity:开启 WebSecurity 模式

    SpringSecurity的原理其实就是一个过滤器链,内部包含了提供各种功能的过滤器。

    然而随着各种安全性问题的不断发生,可以说,安全性技术是构建个人技术体系不可缺少的一个环节,对于提升你的职业门槛也是一个重要的加分项。然而却有很多小伙伴在学习Spring Security 总是遇到重重困难,于是我最近整理了这4本Spring Security进阶学习笔记分享给有需要的小伙伴!

    由于篇幅原因,为了避免影响到大家的阅读体验,在此只以截图展示部分内容

    这份笔记可以分为以下四个部分:

    • 第1部分:Spring Security的基本配置。
    • 第2部分:剖析Web项目可能遇到的安全问题,同时讲解如何使用Spring Security进行有效防护。
    • 第3部分:详细介绍OAuth,并使用Spring Social整合Spring Security,实现QQ快捷登录。
    • 第4部分:重点介绍Spring Security OAuth2框架,剖析Spring Security OAuth2核心源码。

    第1部分

    • 第1章 初识Spring Security
    • 第2章 表单认证
    • 第3章 认证与授权

       

       

    自定义表单登录页

    第2部分

    • 第4章 实现图形验证码
    • 第5章 自动登录和注销登录

       

       

    • 第8章 跨域与CORS
    • 第9章 跨域请求伪造的防护
    • 第10章 单点登录与CAS

       

       

    单点登录

    • 第11章 HTTP认证
    • 第12章 @EnableWebSecurity与过滤器链机制

       

    HTTP基本认证

    第3部分

    第13章 用Spring Social实现OAuth2对接

    实现QQ快捷登录

    第4部分

    第14章 用Spring Seuriy OAuh实现OAuth2对接

    用Spring Security OAuth实现QQ快捷登录

    总结

    任何技术体系的学习,都是一个边踩坑边前进的过程。我在从业生涯中,总结了一些使用 Spring Security 框架解决安全性问题时常见的、不可避免的痛点,大致可以分为以下几种。

    • 看上去简单,实则复杂:Spring Security 的一大特点是内置了很多基础功能,用起来很容易,让你觉得开发起来好像很快很简单,但实际上这些内置功能大多采用了默认实现机制,例如用户登录和登出、密码加解密等。它将系统开发的复杂度隐藏得很深,如果你不了解框架的核心内容,也就无法理解这些默认实现机制。因此,一旦在开发过程中出现问题,你会觉得一头雾水,定位问题和解决问题的难度也会加大。
    • 扩展性强大,但不易掌握:Spring Security 中提供的默认实现机制不一定能满足不同业务场景的需求,这就需要我们通过框架开发扩展功能。Spring Security 提供了面向认证、授权的开放式接口,也提供了过滤器等一系列扩展性功能。这些功能都很强大,但在使用过程中你会发现只有充分理解这些功能背后的设计原理,才能合理利用它们。盲目使用这些扩展性功能只会导致系统不稳定。
    • 技术体系和组件众多:Spring Security 提供了一大批功能组件,这些功能组件构成了庞大的技术体系。你会发现,好不容易学会了一个组件,碰到新的组件还是需要重新学习,导致学习效率很低,并且容易出错。同时,Spring Security 中的很多功能都是集成了市面上的一些开源组件和方案,如果你不了解这些组件和方案,在使用过程中很可能出现一些莫名其妙的问题,影响开发节奏。

    而上面这份文档基于以上问题,整理出了一套由浅入深的学习路径,不仅可以带你掌握 Spring Security 框架的全局,还从实战角度出发,帮助你高效掌握基于 Spring Security 框架的系统安全性设计方法和开发技巧。

  • 相关阅读:
    CUDA中的Warp Shuffle
    在Plesk中如何开启https
    ky10 server x86 安装、更新openssl3.1.4(在线编译安装、离线安装)
    Day24---二叉树专题
    java中的直接内存
    回看路由守卫
    C# 压缩PDF文件
    【大数据入门核心技术-Zookeeper】(二)ZAB协议介绍
    【C++风云录】梦幻般的机器人世界:探索ROS、PCL、OpenCV和更多顶尖技术
    git查询和设置用户名及邮箱
  • 原文地址:https://blog.csdn.net/LBWNB_Java/article/details/127883476