腾讯技术官分享出SpringSecurity笔记“全网沸腾”

写在前面

Spring Security是一个强大且高度可定制的安全框架,致力于为Java应用提供身份认证和授权

Spring Web Security是Java web开发领域的一个认证(Authentication)/授权(Authorisation)框架,基于Servlet技术,更确切的说是基于Servlet的Filter技术。因此,在学习Spring Web Security之前,有必要先对Servlet Filter的工作机制做个介绍。

注:Spring Security本身并不只是针对web的,但本文讲的主要是其在web开发中的使用,因此下文提到Spring Security时主要指Spring Security在web开发中那一部分。

在市面上有关SpringSecurity的学习资料并不是很多,而且也不是很全的,所以就整理了一些有关SpringSecurity的文档:

Part1 SpringSecurity实战

Spring Security的前身是 Acegi Security,在被收纳为Spring子项目后正式更名为SpringSecurity。在Spring Security已经升级到5.1.3.RELEASE版本,不仅新增了原生OAuth框架,还支持更加现代化的密码加密方式。可以预见,在 Java 应用安全领域,Spring Security会成为首先被推崇的安全解决方案。

Spring Security有强大的功能,但它同时也有很高的学习成本。它囊括了身份认证的各种应用场景以及Web安全的大量知识,仅官方参考手册就有数十万字,并且还省略了诸多实现细节。许多开发人员在面对这样的“庞然大物”时无从入手,更因为对其不够了解而在实际项目中不敢轻易采用。

由浅入深、抽丝剥茧地讲解了SpringSecurity的典型应用场景,另外,还分析了部分核心源码,以及许多开发语言之外的安全知识。通过本书,读者不仅可以学习如何应用 SpringSecurity,还可以学习借鉴它的实现思路,以将这种实现思路应用到其他开发场景中。

第1部分(第1章至第3章)

主要介绍Spring Security的基本配置,包括默认配置、简单表单认证,以及基于数据库模型的认证与授权。

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

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第1张图片

 

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第2张图片

第2部分(第4章至第11章)

主要介绍各种定制化的配置场景,剖析Web项目可能遇到的安全问题,并讲解如何使用Spring Security进行有效防护,部分章节还配备了详细的源码导读。

  • 第4章实现图形验证码
  • 第5章自动登录和注销登录
  • 第6章会话管理
  • 第7章密码加密
  • 第8章跨域与CORS
  • 第9章跨域请求伪造的防护
  • 第10章单点登录与CAS
  • 第11章HTTP认证

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第3张图片

 

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第4张图片

 

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第5张图片

第3部分(第13章)

将登录用户的数据来源从系统内转移到社交平台,详细介绍了OAuth,并使用Spring Social整合Spring Security,实现QQ快捷登录,满足一般性的项目需求。

  • 第13章用Sping Social实现OAuth对接

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第6张图片

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第7张图片

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第8张图片

第4部分(第14章)

带领读者认识Spring Security OAuth框架,并基于该框架完整实现了OAuth客户端、OAuth授权服务器以及OAuth资源服务器三种角色。除此之外,还简单剖析了SpringSecurityOAuth的部分核心源码,以帮助读者更好地理解OAuth框架。

  • 第14章用Spring Security OAuth实现OAuth对接

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第9张图片

 

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第10张图片

 

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第11张图片

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第12张图片

以上是SpringSecurity实战的学习资料,下面还会有四份有关SpringSecurity的学习笔记:

Part2 SpringSecurity 设置用户状态

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第13张图片

一、设置用户状态

  • 1.1源码分析
  • 1.2判断认证用户的状态

二、退出登录

三、remember me

  • 3.1记住我功能原理分析
  • 3.2记住我功能页面代码
  • 3.3开启remember me过滤器
  • 3.4 remember me安全性分析
  • 3.5持久化remember me信息

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第14张图片

四、显示当前认证用户名

五、授权准备工作

六、动态展示菜单

七、授权操作

  • 7.1开启授权的注解支持
  • 7.2在注解支持对应类或者方法上添加注解

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第15张图片

八、权限不足异常处理

  • 方式一: rsing-esurtyxmt
  • 方式二:在webxml中处理
  • 方式三:编写异常处理器

Part3 SpringSecurity 案例介绍

这里已经事先为大家准备好了一个半成品的后台管理系统,而想要完善另一部分,就需要用到我们今天学习的内容SpringSecurity了!

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第16张图片

一、案例介绍

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第17张图片

二、初识权限管理

三、初识Spring Security

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第18张图片

四、Spring Security过滤器链

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第19张图片

五、SpringSecurity使用自定 义认证页面

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第20张图片

六、SpringSecurity使用数据库数据完成认证

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第21张图片

 

Part4 SpringSecurity 整合SpringBoot集中式版/分布式版

SpringSecurity 整合SpringBoot集中式版

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第22张图片

 

  • 技术选型
  • 初步整合认证第一版
  • 整合认证第二版[加入jsp使用自定义认证页面]
  • 整合认证第三版[数据库认证]
  • 整合实现授权功能

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第23张图片

SpringSecurity 整合SpringBoot分布式版

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第24张图片

 

  • 分布式认证概念说明
  • 分布式认证流程图
  • JWT介绍
  • SpringSecurity +JWT+RSA分布式认证思路分析
  • SpringSecurity+. JWT+ RSA分布式认证实现

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第25张图片

 

Part5SpringSecurity OAuth2.0介绍

OAuth协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAuth的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAuth是安全的。

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第26张图片

 

  • OAuth2.0介绍
  • OAuth2.0中表结构说明
  • OAuth2.0实战案例
  • 测试

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第27张图片

写在最后

说白了,我们每个人都拥有自己的梦想,但现实的打击往往让我们沦为社畜。实际上,所谓的梦想都是需要建立在物质基础上,所以无论是你转行也好,还是仍旧在自己的行业里坚持下去,都需要花费时间,需要自己去努力,只不过互联网行业的见效更快,站在金字塔上层或顶端相对来说更容易。

领取这份SpringSecurity,只需要:

腾讯技术官分享出SpringSecurity笔记“全网沸腾”_第28张图片

你可能感兴趣的:(java,SpringSecurity,架构,数据库,java,编程语言,spring,SpringSecurity)