阿里大热框架!Spring Security OAuth2.0认证授权开源笔记

时间:2024-03-23 10:02:49

这一套笔记总共分为五份:第一份笔记讲述的是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基于资源的访问控制

阿里大热框架!Spring Security OAuth2.0认证授权开源笔记

 

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.实现授权功能

阿里大热框架!Spring Security OAuth2.0认证授权开源笔记

 

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 测试

阿里大热框架!Spring Security OAuth2.0认证授权开源笔记

 

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授权

阿里大热框架!Spring Security OAuth2.0认证授权开源笔记

 

5.分布式系统认证方案

5.1什么是分布式系统

5.2分布式认证需求

5.3分布式认证方案

阿里大热框架!Spring Security OAuth2.0认证授权开源笔记

 

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测试

阿里大热框架!Spring Security OAuth2.0认证授权开源笔记

 

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认证授权开源笔记

 

第二份笔记: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后台部分所用技术简单说明

阿里大热框架!Spring Security OAuth2.0认证授权开源笔记

 

二、初识权限管理

2.1权限管理概念

2.2完成权限管理需要三个对象

阿里大热框架!Spring Security OAuth2.0认证授权开源笔记

 

三、初识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 OAuth2.0认证授权开源笔记

 

四、Spring Security过滤器链

4.1 Spring Security常用过滤器介绍

4.2 spring security过滤器链加载原理

  • 4.2.1 DelegatingFilterProxy
  • 4.2.2 FilterChainProxy
  • 4.2.3 SecurityFilterChain

阿里大热框架!Spring Security OAuth2.0认证授权开源笔记

 

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

5.1在SpringSecurity主配置文件中指定认证页面配置信息

5.2 SpringSecurity的csrf防护机制

  • 5.2.1 SpringSecurity中CsrFilter过滤器说明
  • 5.2.2 禁用csrf防护机制
  • 5.2.3 在认证页面携带token请求

阿里大热框架!Spring Security OAuth2.0认证授权开源笔记

 

六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 手动将数据库中用户密码改为加密后的密文

阿里大热框架!Spring Security OAuth2.0认证授权开源笔记

 

第三份——第五份笔记(整套项目的源码笔记)

第一份源码笔记

阿里大热框架!Spring Security OAuth2.0认证授权开源笔记

 

阿里大热框架!Spring Security OAuth2.0认证授权开源笔记

 

第二份源码笔记

阿里大热框架!Spring Security OAuth2.0认证授权开源笔记

 

阿里大热框架!Spring Security OAuth2.0认证授权开源笔记

 

第三份源码笔记

阿里大热框架!Spring Security OAuth2.0认证授权开源笔记

 

阿里大热框架!Spring Security OAuth2.0认证授权开源笔记

 

需要领取整套的项目理论基础+实战+源码笔记的老铁,麻烦帮忙转发一下这篇文章(让更多的老铁学习到)+关注我,然后扫码获取!

阿里大热框架!Spring Security OAuth2.0认证授权开源笔记