內容回顧
截止到本篇文章,一一哥就帶各位詳細地學完了SpringSecurity中的各個核心內容,并結合源碼帶大家研讀了SpringSecurity的底層設計。如果你認真地看完了我這個系列的每一篇文章,并跟著每篇教程中的代碼編寫了對應的案例,現(xiàn)在應該就可以達到從一開始對SpringSecurity的懵懂無知,到今天的熟練使用了。
最后 壹哥 再把整個系列的內容給各位梳理一下,方便各位復習掌握,我在這里做了一個SpringSecurity核心內容的思維導圖,咱們一起看看吧。
1. SpringSecurity簡介
通過本小節(jié),我們了解到了SpringSecurity的基本概念、作用,以及與經(jīng)典框架Shiro的區(qū)別,從中我們知道了SpringSecurity與Shiro的核心都是負責認證與授權,并且大家要知道認證與授權的含義及區(qū)別。
2. 初識SpringSecurity
然后我們通過一個案例,學習了如何在SpringBoot環(huán)境中利用SpringSecurity保護項目安全,并且了解到了SpringSecurity的基本使用。
3. 3種認證方式
SpringSecurity提供了3種安全認證方式,即基本認證、表單認證、摘要認證,其中表單認證用的比較多,請各位掌握表單認證的基本用法及底層原理。
因為目前開發(fā)基本都遵循前后端分離的開發(fā)模式,所以我們現(xiàn)在必須掌握前后端分離時的認證處理方案,主要是基于JSON進行認證信息的傳遞,包括認證成功、認證失敗時的處理策略。
4. 2種授權方案
我們知道,SpringSecurity的核心功能包括認證和授權,其中授權的實現(xiàn)方案有2種,即基于內存模式的授權實現(xiàn)方案與基于數(shù)據(jù)庫模式的授權實現(xiàn)方案,我們開發(fā)時主要是基于數(shù)據(jù)庫模式來實現(xiàn)授權,這一章節(jié)也是我們必須重點掌握的內容。
5. SpringSecurity核心源碼分析
我們開發(fā)時除了掌握必須的使用方法之外,還應該掌握SpringSecurity的核心源碼,對SpringSecurity的底層認證、授權等流程原理有清晰的認識,做到知其然,還要知其所以然。
6. 實現(xiàn)圖形驗證碼
在掌握了基本的認證授權基礎之上,我們就可以進行一定程度的自定義開發(fā),通過本章節(jié)就可以實現(xiàn)添加自定義的登錄圖形驗證碼,這里我們可以學習到2種添加驗證碼的方式,基于自定義過濾器和基于認證提供器來實現(xiàn)。
7. 實現(xiàn)自動登錄與注銷登錄
利用SpringSecurity也可以很容易的實現(xiàn)自動登錄與注銷登錄,另外我們還要掌握自動登錄的實現(xiàn)原理。
8. 會話管理
通過本章節(jié),我們主要是學習了會話的概念、HTTP協(xié)議、會話存在的問題,還有就是針對會話的各種攻擊方式及攔截手段。另外本章節(jié)中,最重要的是掌握針對會話過期的處理策略,掌握會話并發(fā)處理方案和實現(xiàn)集群會話。
9. 密碼加密方案
本章節(jié)中,我們主要是掌握SpringSecurity中提供的各種密碼加密實現(xiàn)方案,以及密碼加密的底層實現(xiàn)原理。
10. 4種權限控制方式
在本章節(jié)中,我給大家介紹了4種權限控制方式,常用的基于注解和Ant表達式的權限控制方式,這個章節(jié)也是我們必須要牢牢掌握的。
11. 跨域問題的解決
跨域問題是我們在前后端分離時經(jīng)常會遇到的問題,對于什么是跨域,以及如何解決跨域問題,在本章節(jié)中都有詳細介紹,我們主要是掌握SpringSecurity環(huán)境下的跨域問題解決方案。
12. 實現(xiàn)單點登錄
因為目前分布式開發(fā)日漸普及,雖然帶來了性能的提升,但是也帶來了很多問題,比如常規(guī)的登錄在分布式環(huán)境下就存在一定的問題,所以你可以通過本章節(jié)掌握到什么是單點登錄,以及如何實現(xiàn)簽名、如何基于SpringSecurity實現(xiàn)單點登錄。
13. OAuth2.0協(xié)議簡介
本章節(jié)主要是給大家介紹了另一個開源協(xié)議,即OAuth2.0協(xié)議,主要是掌握OAuth2.0協(xié)議中的認證授權方式及原理,這可以為我們后面學習OAuth2.0協(xié)議打下基礎。
只要各位認真的閱讀本系列教程中的內容,我相信你一定可以做到從入門到精通,后面我會推出一個利用SpringSecurity搭建的權限控制項目教程,希望各位長期關注 一一哥 哦。
專欄往期精彩內容
Spring Security開發(fā)專欄24章即將上線!
Spring Security開發(fā)正式上線!
Spring Security系列教程之創(chuàng)建項目
Spring Security系列教程之實現(xiàn)HTTP基本認證
Spring Security系列教程之實現(xiàn)Form表單認證
Spring Security系列之實現(xiàn)HTTP摘要認證
Spring Security系列之前后端分離時的安全處理方案
Spring Security系列教程之基于內存模型實現(xiàn)授權
Spring Security系列教程之基于默認數(shù)據(jù)庫模型實現(xiàn)授權
Spring Security系列教之基于自定義數(shù)據(jù)庫模型實現(xiàn)授權
spring security系列教程之Spring Security核心API講解
Spring Security系列教程之Spring Security認證授權流程
Spring Security系列教程之基于過濾器實現(xiàn)圖形驗證碼
Spring Security系列教程之基于自定義的認證提供器實現(xiàn)圖形驗證碼
Spring Security系列教程之基于散列加密方案實現(xiàn)自動登錄
Spring Security系列教程之注銷登錄的實現(xiàn)及原理分析
Spring Security系列教程之會話管理之防御固定會話攻擊
Spring Security系列教程之會話管理之處理會話過期
Spring Security系列教程之會話管理之會話并發(fā)控制
Spring Security系列教程之會話管理之實現(xiàn)集群會話
Spring Security系列教程之SpringSecurity中的密碼加密
Spring Security系列教程之Spring Security的四種權限控制方式
Spring Security系列教程之解決Spring Security環(huán)境中的跨域問題
Spring Security系列教程之基于持久化令牌方案實現(xiàn)自動登錄
Spring Security系列教程之解決Spring Security環(huán)境中的跨域問題
Spring Security系列教程之實現(xiàn)CAS單點登錄上篇-概述
Spring Security系列教程之實現(xiàn)CAS單點登錄-搭建CAS服務端
Spring Security系列教程之實現(xiàn)CAS單點登錄下篇-搭建CAS客戶端
Spring Security系列教程之OAuth2.0協(xié)議詳解
關注公眾號,回復【SS】獲取專欄大綱腦圖