传送门
SpringMVC的源码解析(精品)
Spring6的源码解析(精品)
SpringBoot3框架(精品)
MyBatis框架(精品)
MyBatis-Plus
SpringDataJPA
SpringCloudNetflix
SpringCloudAlibaba(精品)
Shiro
SpringSecurity
java的LOG日志框架
Activiti(敬请期待)
JDK8新特性
JDK9新特性
JDK10新特性
JDK11新特性
JDK12新特性
JDK13新特性
JDK14新特性
JDK15新特性
JDK16新特性
JDK17新特性
JDK18新特性
JDK19新特性
JDK20新特性
JDK21新特性
其他技术文章传送门入口
前言
本质就是一串过滤器配合实现的认证与授权功能,对,你没看错,全都是过滤器。
然后还有一个规约,OAuth2.0规约,腾讯QQ、微信、等等都遵守这个规约,典型应用就是QQ快捷登录、微信快捷登录,很多网站都支持QQ快捷登录,你本来登录的是A网站,结果用的是你自己的QQ账号和密码。
SpringSecurity入门篇
SpringSecurity升级篇
一、概念
JWT令牌更安全,更好的配合OAuth2.0
授权码模式图
很安全,但是较为复杂
简化模式图
简化了 第三方应用通过code向 微信开放平台 要令牌的步骤,直接给了令牌。这个是因为,有些第三方应用没有专门服务器去向 微信开放平台拿着code要令牌,就简化了,直接给了令牌。(真实案例:例如淘宝部分平台)
密码模式图
客户端模式图
JWT令牌
本质就是一个加密的字符串。
二、SpringSectury快速上手
1、入门搭建
引入依赖
注解开启
启动项目的时候,启动日志中有 密码。默认账户是 user。这样 访问项目中任何一个接口,都需要输入账号密码了。
比如 访问http://localhost:8088/sysUser/login 会跳转到框架中默认地址
安全框架默认登录地址。 默认用户是user。登录以后接口才请求成功了 。
2、重新实现普通埋点的控制
在入门的基础上,主要是两个类,这是第一个 ResourcesConfig implements WebMvcConfigurer
第二个类,注意类上面加的注解。这里面其实主要控制了后端api接口的访问,控制的很精确,但是前端按钮的控制还是问题,而且这种控制不适合查询数据库来处理。
3、各种获取用户
4种
4、扩展点
注解支持控制资源
这样config那边就不用写具体接口地址了。直接在方法上控制。
三、SpringSectury工作原理