一. 内容回顾

截止到本篇文章,一一哥 就带各位详细地学完了SpringSecurity中的各个核心内容,并结合源码带大家研读了SpringSecurity的底层设计。如果你认真地看完了我这个系列的每一篇文章,并跟着每篇教程中的代码编写了对应的案例,现在应该就可以达到从一开始对SpringSecurity的懵懂无知,到今天的熟练使用了。

最后 壹哥 再把整个系列的内容给各位梳理一下,方便各位复习掌握,我在这里做了一个SpringSecurity核心内容的思维导图,咱们一起看看吧。

Spring Security系列教程30--系列文章总结_跨域问题

1. SpringSecurity简介

通过本小节,我们了解到了SpringSecurity的基本概念、作用,以及与经典框架Shiro的区别,从中我们知道了SpringSecurity与Shiro的核心都是负责认证与授权,并且大家要知道认证与授权的含义及区别。

2. 初识SpringSecurity

然后我们通过一个案例,学习了如何在SpringBoot环境中利用SpringSecurity保护项目安全,并且了解到了SpringSecurity的基本使用。

3. 3种认证方式

SpringSecurity提供了3种安全认证方式,即基本认证、表单认证、摘要认证,其中表单认证用的比较多,请各位掌握表单认证的基本用法及底层原理。

因为目前开发基本都遵循前后端分离的开发模式,所以我们现在必须掌握前后端分离时的认证处理方案,主要是基于JSON进行认证信息的传递,包括认证成功、认证失败时的处理策略。

4. 2种授权方案

我们知道,SpringSecurity的核心功能包括认证和授权,其中授权的实现方案有2种,即基于内存模式的授权实现方案与基于数据库模式的授权实现方案,我们开发时主要是基于数据库模式来实现授权,这一章节也是我们必须重点掌握的内容。

5. SpringSecurity核心源码分析

我们开发时除了掌握必须的使用方法之外,还应该掌握SpringSecurity的核心源码,对SpringSecurity的底层认证、授权等流程原理有清晰的认识,做到知其然,还要知其所以然。

6. 实现图形验证码

在掌握了基本的认证授权基础之上,我们就可以进行一定程度的自定义开发,通过本章节就可以实现添加自定义的登录图形验证码,这里我们可以学习到2种添加验证码的方式,基于自定义过滤器和基于认证提供器来实现。

7. 实现自动登录与注销登录

利用SpringSecurity也可以很容易的实现自动登录与注销登录,另外我们还要掌握自动登录的实现原理。

8. 会话管理

通过本章节,我们主要是学习了会话的概念、HTTP协议、会话存在的问题,还有就是针对会话的各种攻击方式及拦截手段。另外本章节中,最重要的是掌握针对会话过期的处理策略,掌握会话并发处理方案和实现集群会话。

9. 密码加密方案

本章节中,我们主要是掌握SpringSecurity中提供的各种密码加密实现方案,以及密码加密的底层实现原理。

10. 4种权限控制方式

在本章节中,我给大家介绍了4种权限控制方式,常用的基于注解和Ant表达式的权限控制方式,这个章节也是我们必须要牢牢掌握的。

11. 跨域问题的解决

跨域问题是我们在前后端分离时经常会遇到的问题,对于什么是跨域,以及如何解决跨域问题,在本章节中都有详细介绍,我们主要是掌握SpringSecurity环境下的跨域问题解决方案。

12. 实现单点登录

因为目前分布式开发日渐普及,虽然带来了性能的提升,但是也带来了很多问题,比如常规的登录在分布式环境下就存在一定的问题,所以你可以通过本章节掌握到什么是单点登录,以及如何实现签名、如何基于SpringSecurity实现单点登录。

13. OAuth2.0协议简介

本章节主要是给大家介绍了另一个开源协议,即OAuth2.0协议,主要是掌握OAuth2.0协议中的认证授权方式及原理,这可以为我们后面学习OAuth2.0协议打下基础。

只要各位认真的阅读本系列教程中的内容,我相信你一定可以做到从入门到精通,后面我会推出一个利用SpringSecurity搭建的权限控制项目教程,希望各位长期关注 一一哥 哦。