为了账号安全,请及时绑定邮箱和手机立即绑定

[备战春招]第一天 Spring Security+OAuth2 精讲,打造企业级认证与授权

标签:
Java Spring

目录

课程名称:Spring Security+OAuth2 精讲,打造企业级认证与授权

课程章节:第1章 关于这门课,你需要知道的

课程讲师:接灰的电子产品

学习目标

  • 能够知道认证授权的重要性

  • 能够知道课程的学习路线和课程目录

  • 能够知道课程的技术选型和学习课程所需的预备知识

  • 能够配置IDEA热启动

1.课程简介

1.1 这是一门什么课?

认证-你是谁

授权-你能干什么?

1.2 认证和授权的重要性

普遍性 → 几乎所有企业级业务场景中都有各种各样的权限需求

必要性 → 认证和授权作为整体架构的基础建设部分,直接决定了产品的安全性,稳定性

可持续性 → 道高一尺,魔高一丈。针对系统的攻击随着技术和机器性能的发展也不断进步,同时也催生了不断进化的安全技术和策略

面试必考 → 一般来说对于后端技术人员面试中,安全几乎是必不可少的一个考点

1.3 为什么是Spring Security?

  1. 对比竞争框架的流行度高。

  2. Spring全家桶成员。

  3. 丰富且全面的安全相关特性,业务隔离好。

1.4 学习路线

单体

登录注册

多因子认证

JWT的签发

角色/权限的数据库存储

用户管理

角色管理

权限管理

角色分级的加载

LDAP配置

方法和URL安全配置

微服务

实现授权服务器

实现资源服务器

实现客户端单点登录

Github登录

微博登录

QQ登录

授权方式管理

1.5 课程章节安排

  • 第一章

  • 课程介绍

  • 环境配首

  • 第二章

  • 认证和授权

  • 过滤器和过滤器链

  • HTTP请求的结构

  • HTTP Basic Auth

  • 安全配置

  • 定制登录页

  • csrf,等的设置

  • 登录成功及失败的处理

  • 自定义Filter

  • 第三章

  • 密码进化史

  • 密码编码器

  • 验证注解和自定义验证注解

  • 密码的验证和自定义注解和验证器

  • 验证消息的国际化

  • 异常的处理多个安全配置共存

  • 第四章

  • 核心组件- SecurityContext

  • UserDetails、 UserDetailsService

  • 定制化数据库

  • UserDetails和GrantedAuthority

  • 环境和环境变量

  • 自动化测试

  • 第五章

  • 认证流程和源码解析

  • LDAP配置和多认证源

  • JWT的概念和创建以及解析

  • 访问令牌和刷新令牌

  • 创建JwtFilter

  • 实现登录接口和刷新令牌接口

  • 完成注册接口

  • 第六章

  • 多因子认证和TOTP云服务和多因子认证流程

  • 短信发送服务Email发送服务

  • 多因子认证整体逻辑

  • 使用Redis 缓存选择发送方式和验证

  • 前后端的多工程配置

  • CORS跨域处理

  • 第七章

  • 授权机制

  • 角色和权限的概念

  • Spring Security授权

  • 使用注解完成简单角色授权

  • 在注解中使用权限表达式

  • 角色分级

  • 划分权限

  • 自定义权限表达式

  • 高级权限表达式的用法

  • 第八章

  • Oauth2.0简介

  • 常用的授权模式和流程

  • 授权和资源服务器的概念

  • 实授权服务器和资源服务器

  • 资源服务器验证JWT Claims

  • 第三方登录

  • Github登录,微博登录

  • 单点登录SSO

  • 单页应用如何在OAuth2模式下工作

  • 第九章

  • 和keycloak集成

1.6 学习效果

  • 独立设计一个安全的单体应用

  • 为微服务开发UAA 或集成第三方

  • 前后端配合时常见的问题处理

1.7 课程代码环境

使用最新技术栈,面向未来

  • 聚焦 Spring Security 5.x核心功能

  • 后端采用Java 11和Spring Boot 2.x,面向未来

1.8 后端预备知识

  • Java编程语言和 Spring框架

  • 熟悉Spring和Spring Boot

  • 熟悉Java函数风格编程方式(Lamda)

  • 熟练使用MySQL

2.课程更新简介

  • Spring Boot:

  • -2.3 ->2.7

  • ·配置文件等修改

  • Spring Security

  • ·5.2 ->5.7

  • ·使用Bean简化原来的继承类实现抽象方法

  • Spring Authorization

  • ·仍然处于孵化期

  • ·课程使用0.4-M1版本,未来1.0版本Server基于Spring Boot 3.0和Java 17

3.环境配置

3.1 前端环境搭建

Node -> NPM/CNPM -> vue CLI

安装node.js的目的是使用npm管理项目依赖的软件包

由于网络环境的原因,cnpm 作为替代的包管理工具

使用Vue CLI 使我们无须理会复杂的配置,更专注Vue.js

3.2 后端环境搭建

Java SDK -> Maven

OpenJDK 11

使用Maven进行项目依赖和工程管理

使用Intellij IDEA进行开发

3.3 IDEA的扩展

环境变量

EnvFile

模板工具

Lombok

IDEA 的热启动配置

自动构建

IDEA注册表

修改配置

3.4 VScode配置

VScode配置

4 工程结构

前五章只有一个工程。通过接口形式写代码。

第六章会增加前端

第八章 增加todos-service和web-client

第九章 使用KeyCloak

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消