肝到头秃,阿里爆款的顶配版Spring Security笔记

蓦然回首自己做开发已经十年了,这十年中我获得了很多,技术能力、培训、出国、大公司的经历,还有很多很好的朋友。但再仔细一想,这十年中我至少浪费了五年时间,这五年可以足够让自己成长为一个优秀的程序员,可惜我错过了,我用这五年时间和很多程序员一样在困惑和迷茫中找不到出路!

以前我一直被公司和技术牵着走,并不是自己在选择技术,而是不自觉地被推到了这个位置上。想想有多少人对于自己将来要从事的职业和技术类型进行过深入思考和比较呢?当我跳出编码后,我开始思考和程序及程序员职业生涯相关的问题,最后发现,影响我们走入今天的困局的竟然是一些我们常常挂在嘴边的话。

Spring Security
Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。由于它是Spring生态系统中的一员,因此它伴随着整个Spring生态系统不断修正、升级,在spring boot项目中加入springsecurity更是十分简单,使用Spring Security 减少了为企业系统安全控制编写大量重复代码的工作。
c250a47ca573faca9b07369b1021332c.jpeg
Spring Security OAuth2.0认证授权
进入移动互联网时代,大家每天都在刷手机,常用的软件有微信、支付宝、头条等,下边拿微信来举例子说明认证

相关的基本概念,在初次使用微信前需要注册成为微信用户,然后输入账号和密码即可登录微信,输入账号和密码登录微信的过程就是认证。

**认证 **:用户认证就是判断一个用户的身份是否合法的过程,用户去访问系统资源时系统要求验证用户的身份信息,身份合法方可继续访问,不合法则拒绝访问。常见的用户身份认证方式有:用户名密码登录,二维码登录,手机短信登录,指纹认证等方式。

OAuth(开放授权)是一个开放标准,允许用户授权第三方移动应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方移动应用或分享他们数据的所有内容,OAuth2.0是OAuth协议的延续版本,但不兼容OAuth 1.0(即完全废止了OAuth1.0)。
OAuth 2.0 规范定义了一个授权(delegation)协议。

目前学习Spring Security方面的资料相对来说比较并且并不完善。首先,SSM环境中我们通过xml配置的方式,从源码渗入开始,完成Spring Security基本的“认证”和“授权”功能讲解,其中还会融合“记住我”,CSRF拦截等技术。然后,会在SpringBoot环境中,继续展开Spring Security更深度的学习,这时的认证,也会转化成分布式方式。

第一份笔记:Spring Security OAuth2.0认证授权
9646dc7a98bdec1f28eabf50cea8d56d.jpeg
1.基本概念
什么是认证
什么是会话
什么是授权
授权的数据模型
RBAC
6dc23d4d6245879e19db7634b8707d46.jpeg
a743f90745c8bc7b891d8ddee2404c62.jpeg
2.基于Session的认证方式
认证流程
创建工程
实现认证功能
实现会话功能
实现授权功能
35d0c7e6cf62b0cddb46d451c4a925ea.jpeg
3.Spring Security 快速上手
Spring Security介绍
创建工程
认证
授权
ad72e3f5291fcf2d26e25f66ad3136ef.jpeg
4.Spring Security 应用详解
集成SpringBoot
工作原理
自定义认证
会话
退出
授权
c2e93d4d6a394662aa121b2122bf3512.jpeg
69586152ac32a75956ea19e7042d68df.jpeg

5.分布式系统认证方案
什么是分布式系统
分布式认证需求
分布式认证方案
dba29e0f05c0020bb1cb9cbb2265a7e7.jpeg
4cc1eac8ef3864a5b4a0dcb5dc1502e6.jpeg
6.OAuth2.0
OAuth2.0介绍
Sping Cloud Security OAuth2
JWT令牌
完善环境配置
3dcd9376f6e29f0b97e45058461e7a48.jpeg
b821dc55f9e95650a49350dbb92b7bfc.jpeg
7.Spring Security 实现分布式系统授权
需求分析
注册中心
网关
转发明文token给微服务
微服务用户鉴权拦截
集成测试
扩展用户信息.
bdc66842c20c2cefa661df63822deaf1.jpeg
第二份:企业开发首选的安全框架Spring Security笔记
2b120bba67127f3cd7cdebf0d978758d.jpeg
第二部分:初识Spring Security
1.权限相关概念介绍
2.引入认证和授权概念
3.Springsecurity介绍
4.这里有十一个过滤器原理说明
5.数据库环境准备
6.数据库使用mysql,这里完成用户,角色,权限三张表准备。
7.独立web工程springsecurity权限控制案例技术选型说明
8.springmvc+spring+mybatis+jsp+adminLTE
9.springsecurity认证功能实现
10.这时的认证,还未真正从数据库中获取角色信息。
bcdd6dd95e63cd8a125e42c98cdb9fe6.jpeg
5b13266afba53b57b0a34f92e1c256d4.jpeg
1f19ed697a52933cccd6e6b8886d09e7.jpeg
第二部分:Spring Security授权操作
11.实现用户管理角色查询功能
12.为授权做准备
13.实现用户角色的修改功能
14.可增添可删减用户的角色
15.在jsp页面上采用springsecurity动态标签控制菜单的显示或隐藏
16.Springsecurity在独立web工程中使用,其实并未用到权限表,就是说菜单并没有入库,直接全部写死在页面上,使用springsecurity动态标签控制显示或隐藏。
17.在后台使用注解真正控制用户对资源的访问权限
18.这里会使用jsr250,springEL,springsecurity三类注解来演示
19.403异常的处理
20.用三种方式来处理403异常的拦截
74890782640d4eb6f72f282e35f97716.jpeg
b86d789974814d21b63781270efa61b5.jpeg第三部分:SpringSecurity整合SpringBoot集中式版
c186f8212ba3335cddd991297f7bd7a2.jpeg
21.Swagger制作restfulAPI介绍
22.既然要使用前后端分离的方式,怎么能少了API?
23.将后台所有返回页面的处理器改成返回数据的处理器
24.都前后端分离了,再返回页面还有什么意义?
25.说明前后端分离后项目中认证的问题
26.这时的页面和后台在不同的服务器中,所以会存在session不能共享的问题。
27.介绍JWT
28.说明JWT的功能和作用
29.Springsecurity整合JWT
30.通过springsecurity加JWT的方式来实现前后端分离的认证
8d850813c64580fa825ebcb12274fc33.jpeg
f9b832fb4ece2f3c2bba86e5038a56be.jpeg
第四部分:OAuth2.0实战案例
31.将所有页面换成vue
32.前后端分离jsp自然就不能再用了
33.创建权限表并将所有菜单入库
34.之前独立一个web工程的时候,菜单是直接写死在页面上并没有入库的,而前后端分离后springsecurity的动态标签无法使用了。
35.完成角色管理权限查询功能
36.为动态展示菜单做准备。
37.完成修改角色下菜单的功能
38.还是为动态展示菜单做准备
39.介绍element-ui的使用
40.页面展示菜单技术准备
41.认证通过后在页面上动态展示菜单
42.使用element-ui完成动态菜单的展示。
58f70584d6d99368c39a72bd69232674.jpeg
56698d59f3705d44147299c3aaa98c3a.jpeg
有需要获取文章中完整版资料的小伙伴,可以点击文末下方传送门,即可获得免费领取方式!!!(百分百免费分享)
 

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值