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