內(nèi)容回顧
截止到本篇文章,一一哥就帶各位詳細(xì)地學(xué)完了SpringSecurity中的各個核心內(nèi)容,并結(jié)合源碼帶大家研讀了SpringSecurity的底層設(shè)計(jì)。如果你認(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ù)項(xiàng)目安全,并且了解到了SpringSecurity的基本使用。
3. 3種認(rèn)證方式
SpringSecurity提供了3種安全認(rèn)證方式,即基本認(rèn)證、表單認(rèn)證、摘要認(rèn)證,其中表單認(rèn)證用的比較多,請各位掌握表單認(rèn)證的基本用法及底層原理。
因?yà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)的實(shí)現(xiàn)方案有2種,即基于內(nèi)存模式的授權(quán)實(shí)現(xiàn)方案與基于數(shù)據(jù)庫模式的授權(quán)實(shí)現(xiàn)方案,我們開發(fā)時主要是基于數(shù)據(jù)庫模式來實(shí)現(xiàn)授權(quán),這一章節(jié)也是我們必須重點(diǎn)掌握的內(nèi)容。
5. SpringSecurity核心源碼分析
我們開發(fā)時除了掌握必須的使用方法之外,還應(yīng)該掌握SpringSecurity的核心源碼,對SpringSecurity的底層認(rèn)證、授權(quán)等流程原理有清晰的認(rèn)識,做到知其然,還要知其所以然。
6. 實(shí)現(xiàn)圖形驗(yàn)證碼
在掌握了基本的認(rèn)證授權(quán)基礎(chǔ)之上,我們就可以進(jìn)行一定程度的自定義開發(fā),通過本章節(jié)就可以實(shí)現(xiàn)添加自定義的登錄圖形驗(yàn)證碼,這里我們可以學(xué)習(xí)到2種添加驗(yàn)證碼的方式,基于自定義過濾器和基于認(rèn)證提供器來實(shí)現(xiàn)。
7. 實(shí)現(xiàn)自動登錄與注銷登錄
利用SpringSecurity也可以很容易的實(shí)現(xiàn)自動登錄與注銷登錄,另外我們還要掌握自動登錄的實(shí)現(xiàn)原理。
8. 會話管理
通過本章節(jié),我們主要是學(xué)習(xí)了會話的概念、HTTP協(xié)議、會話存在的問題,還有就是針對會話的各種攻擊方式及攔截手段。另外本章節(jié)中,最重要的是掌握針對會話過期的處理策略,掌握會話并發(fā)處理方案和實(shí)現(xiàn)集群會話。
9. 密碼加密方案
本章節(jié)中,我們主要是掌握SpringSecurity中提供的各種密碼加密實(shí)現(xiàn)方案,以及密碼加密的底層實(shí)現(xiàn)原理。
10. 4種權(quán)限控制方式
在本章節(jié)中,我給大家介紹了4種權(quán)限控制方式,常用的基于注解和Ant表達(dá)式的權(quán)限控制方式,這個章節(jié)也是我們必須要牢牢掌握的。
11. 跨域問題的解決
跨域問題是我們在前后端分離時經(jīng)常會遇到的問題,對于什么是跨域,以及如何解決跨域問題,在本章節(jié)中都有詳細(xì)介紹,我們主要是掌握SpringSecurity環(huán)境下的跨域問題解決方案。
12. 實(shí)現(xiàn)單點(diǎn)登錄
因?yàn)槟壳胺植际介_發(fā)日漸普及,雖然帶來了性能的提升,但是也帶來了很多問題,比如常規(guī)的登錄在分布式環(huán)境下就存在一定的問題,所以你可以通過本章節(jié)掌握到什么是單點(diǎn)登錄,以及如何實(shí)現(xiàn)簽名、如何基于SpringSecurity實(shí)現(xiàn)單點(diǎ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)限控制項(xiàng)目教程,希望各位長期關(guān)注 一一哥 哦。
專欄往期精彩內(nèi)容
Spring Security開發(fā)專欄24章即將上線!
Spring Security開發(fā)正式上線!
Spring Security系列教程之創(chuàng)建項(xiàng)目
Spring Security系列教程之實(shí)現(xiàn)HTTP基本認(rèn)證
Spring Security系列教程之實(shí)現(xiàn)Form表單認(rèn)證
Spring Security系列之實(shí)現(xiàn)HTTP摘要認(rèn)證
Spring Security系列之前后端分離時的安全處理方案
Spring Security系列教程之基于內(nèi)存模型實(shí)現(xiàn)授權(quán)
Spring Security系列教程之基于默認(rèn)數(shù)據(jù)庫模型實(shí)現(xiàn)授權(quán)
Spring Security系列教之基于自定義數(shù)據(jù)庫模型實(shí)現(xiàn)授權(quán)
spring security系列教程之Spring Security核心API講解
Spring Security系列教程之Spring Security認(rèn)證授權(quán)流程
Spring Security系列教程之基于過濾器實(shí)現(xiàn)圖形驗(yàn)證碼
Spring Security系列教程之基于自定義的認(rèn)證提供器實(shí)現(xiàn)圖形驗(yàn)證碼
Spring Security系列教程之基于散列加密方案實(shí)現(xiàn)自動登錄
Spring Security系列教程之注銷登錄的實(shí)現(xiàn)及原理分析
Spring Security系列教程之會話管理之防御固定會話攻擊
Spring Security系列教程之會話管理之處理會話過期
Spring Security系列教程之會話管理之會話并發(fā)控制
Spring Security系列教程之會話管理之實(shí)現(xiàn)集群會話
Spring Security系列教程之SpringSecurity中的密碼加密
Spring Security系列教程之Spring Security的四種權(quán)限控制方式
Spring Security系列教程之解決Spring Security環(huán)境中的跨域問題
Spring Security系列教程之基于持久化令牌方案實(shí)現(xiàn)自動登錄
Spring Security系列教程之解決Spring Security環(huán)境中的跨域問題
Spring Security系列教程之實(shí)現(xiàn)CAS單點(diǎn)登錄上篇-概述
Spring Security系列教程之實(shí)現(xiàn)CAS單點(diǎn)登錄-搭建CAS服務(wù)端
Spring Security系列教程之實(shí)現(xiàn)CAS單點(diǎn)登錄下篇-搭建CAS客戶端
Spring Security系列教程之OAuth2.0協(xié)議詳解
關(guān)注公眾號,回復(fù)【SS】獲取專欄大綱腦圖