这一套笔记总共分为五份:第一份笔记讲述的是Spring Security OAuth2.0认证授权项目的理论基础,第二份笔记是整个项目的实战操作,最后三套讲述的是源码笔记(帮助大家去理解整套的项目)
下面我们一份一份的笔记来看,由于文章的篇幅有限,小编只能为大家展示完整的项目目录和部分内容(整套笔记的完整获取方式我放在了文末!)
第一份笔记:Spring Security OAuth2.0认证授权理论基础
1.基本概念
1.1.什么是认证
1.2什么是会话
1.2什么是授权
1.3授权的数据模型
1.4 RBAC
- 1.4.1 基于角色的访问控制
- 1.4.2基于资源的访问控制
2基于Session的认证方式
2.1认证流程
2.2.创建工程
- 2.2.1 创建maven工程
- 2.2.2 Spring 容器配置
- 2.2.3 servletContext配置
- 2.2.4加载Spring容器
2.3.实现认证功能
- 2.3.1 认证页面
- 2.3.2 认证接口
2.4.实现会话功能
2.5.实现授权功能
3.Spring Security快速上手
3.1 Spring Security介绍
3.2创建工程
- 3.2.1 创建maven工程
- 3.2.2 Spring容器配置
- 3.2.3 Servlet Context配置
- 3.2.4 加裁Spring容器
3.3认证
- 3.3.1 认证页面
- 3.3.2.安全配置
- 3.3.2.Spring Security初始化
- 3.2.3 默认根路径请求
- 3.2.4.认证成功页面
- 3.2.5 测试
4 Spring Security应用详解
4.1集成SpringBoot
- 4.1.1 Spring Boot介绍!
- 4.1.2 创建maven工程
- 4.1.3 spring容器配置
- 4.1.4 Servlet Context配置
- 4.1.5 安全配置
- 4.1.6 测试
4.2工作原理
4.2.1 结构总览
- 4.2.2.认证流程
- 4.2.2.1认证流程
4.3自定义认证
4.3.1 自定义登录页面
- 4.3.1.1认证页面
- 4.3.1.2配置认证页面
- 4.3.1.3 安全配置
- 4.3.1.4 测试
4.3.2 连接数据库认证
- 4.3.2.1 创建数据库
- 4.3.2.2 代码实现
- 4.3.2.3 定义UserDetailSernice
- 4.3.2.4 测试
- 4.3.2.5使用BCryptPasswordEncoder
4.4会话
4.5退出
4.6授权
5.分布式系统认证方案
5.1什么是分布式系统
5.2分布式认证需求
5.3分布式认证方案
6.OAuth2.0
6.1 OAuth2.0介绍
6.2 Spring Cloud Security OAuth2
6.2.1环境介绍
6.2.2环境搭建
- 6.2.2.1 父工程
- 6.2.2.2 创建UAA授权服务工程
- 6.2.2.3创建Order资源服务工程
6.2.2.授权服务器配置
- 6.2.2.1 EnableAuthorizationServer
- 6.2.2.1.配置客户端详细信息
- 6.2.2.2.管理令牌
- 6.2.2.3.令牌访问端点配置
- 6.2.2.4.令牌端点的安全约束
- 6.2.2.5 web安全配置
6.2.3.授权码模式
- 6.2.3.1授权码模式介绍
- 6.2.3.2测试
6.2.4.简化模式
- 6.2.4.1 简化模式介绍
- 6.2.4.2测试
6.2.5.密码模式
- 6.2.5.1授权码模式介绍
- 6.2.5.2测试
6.2.6.客户端模式
- 6.2.6.1 客户端模式介绍
- 6.2.6.2客户端模式介绍
6.2.7.资源服务测试
- 6.2.7.1 资源服务器配置
- 6.2.7.2 验证token
- 6.2.7.3编写资源
- 6.2.7.4添加安全访问控制
- 6.2.7.5 测试
6.3 JWT令牌
- 6.3.1 JWT介绍
- 6.3.2 配置JWT令牌服务
- 6.3.3 生成jwt令牌
- 6.3.4 校验jwt令牌
6.4完善环境配置
- 6.4.1 创建表
- 6.4.2 配置授权服务
- 6.4.3测试
7.Spring Security实现分布式系统授权
7.1需求分析
7.2.注册中心
7.3.网关
- 7.3.1创建工程
- 7.3.2 token配置
- 7.3.3配置资源服务
- 7.3.4 安全配置
7.3.转发明文token给微服务
7.4.微服务用户鉴权拦截
7.5.集成测试
7.6扩展用户信息
第二份笔记:Spring Security OAuth2.0认证授权项目实战
一、案例介绍
1.1 案例效果图
- 1.1.1启动项目进入首页;
- 1.1.2系统管理界面
- 1.1.3 基础数据界面
- 1.1.4 项目最终目录结构
1.2建表语句
1.3页面部分所用技术简单说明
- 1.3.1 adminlTE介绍
- 1.3.2 adminITE使用
1.4后台部分所用技术简单说明
二、初识权限管理
2.1权限管理概念
2.2完成权限管理需要三个对象
三、初识Spring Security
3.1 Spring Security概念
3.2 Spring Security简单入门
- 3.2.1 创建web工程并导入jar包
- 3.2.2 配置web.xml
- 3.2.3 配置spring-security.xml
- 3.2.4 将spring-security.xml配置文件引入到applicationContext.xml中
- 3.2.5 运行结果
四、Spring Security过滤器链
4.1 Spring Security常用过滤器介绍
4.2 spring security过滤器链加载原理
- 4.2.1 DelegatingFilterProxy
- 4.2.2 FilterChainProxy
- 4.2.3 SecurityFilterChain
五、SpringSecurity使用自定义认证页面
5.1在SpringSecurity主配置文件中指定认证页面配置信息
5.2 SpringSecurity的csrf防护机制
- 5.2.1 SpringSecurity中CsrFilter过滤器说明
- 5.2.2 禁用csrf防护机制
- 5.2.3 在认证页面携带token请求
六SpringSecurity使用数据库数据完成认证
6.1认证流程分析
- UsernamePasswordAuthenticationFilter
- AuthenticationManager
- AbstractUserDetailsAuthenticationProvider
- AbstractUserDetailsAuthenticationProvider中authenticate返回值
- UsernamePasswordAuthenticationToken
- AbstractAuthenticationToken
- AbstractAuthenticationProcessingFilter
6.2初步实现认证功能
- 6.2.1 让我们自己的UserService接继承UserDetailsService
- 6.2.2编写loadUserByUsername业务
- 6.2.3 在SpringSecurity主配置文件中指定认证使用的业务对象
6.3加密认证
- 6.3.1 在IOC容器中提供加密对象
- 6.3.2 修改认证方法
- 6.3.3修改添加用户的操作
- 6.3.4 手动将数据库中用户密码改为加密后的密文
第三份——第五份笔记(整套项目的源码笔记)
第一份源码笔记
第二份源码笔记
第三份源码笔记
需要领取整套的项目理论基础+实战+源码笔记的老铁,麻烦帮忙转发一下这篇文章(让更多的老铁学习到)+关注我,然后扫码获取!
来源:oschina
链接:https://my.oschina.net/u/4332788/blog/4556350