內容回顧
截止到本篇文章,一一哥就帶各位詳細地學完了SpringSecurity中的各個核心內容,并結合源碼帶大家研讀了SpringSecurity的底層設計。如果你認真地看完了我這個系列的每一篇文章,并跟著每篇教程中的代碼編寫了對應的案例,現在應該就可以達到從一開始對SpringSecurity的懵懂無知,到今天的熟練使用了。
最后 壹哥 再把整個系列的內容給各位梳理一下,方便各位復習掌握,我在這里做了一個SpringSecurity核心內容的思維導圖,咱們一起看看吧。
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搭建的權限控制項目教程,希望各位長期關注 一一哥 哦。
專欄往期精彩內容
Spring Security開發專欄24章即將上線!
Spring Security開發正式上線!
Spring Security系列教程之創建項目
Spring Security系列教程之實現HTTP基本認證
Spring Security系列教程之實現Form表單認證
Spring Security系列之實現HTTP摘要認證
Spring Security系列之前后端分離時的安全處理方案
Spring Security系列教程之基于內存模型實現授權
Spring Security系列教程之基于默認數據庫模型實現授權
Spring Security系列教之基于自定義數據庫模型實現授權
spring security系列教程之Spring Security核心API講解
Spring Security系列教程之Spring Security認證授權流程
Spring Security系列教程之基于過濾器實現圖形驗證碼
Spring Security系列教程之基于自定義的認證提供器實現圖形驗證碼
Spring Security系列教程之基于散列加密方案實現自動登錄
Spring Security系列教程之注銷登錄的實現及原理分析
Spring Security系列教程之會話管理之防御固定會話攻擊
Spring Security系列教程之會話管理之處理會話過期
Spring Security系列教程之會話管理之會話并發控制
Spring Security系列教程之會話管理之實現集群會話
Spring Security系列教程之SpringSecurity中的密碼加密
Spring Security系列教程之Spring Security的四種權限控制方式
Spring Security系列教程之解決Spring Security環境中的跨域問題
Spring Security系列教程之基于持久化令牌方案實現自動登錄
Spring Security系列教程之解決Spring Security環境中的跨域問題
Spring Security系列教程之實現CAS單點登錄上篇-概述
Spring Security系列教程之實現CAS單點登錄-搭建CAS服務端
Spring Security系列教程之實現CAS單點登錄下篇-搭建CAS客戶端
Spring Security系列教程之OAuth2.0協議詳解
關注公眾號,回復【SS】獲取專欄大綱腦圖