
- Spring Security 教程
- Spring Security - 首頁
- Spring Security - 簡介
- Spring Security - 架構
- Spring Security - 專案模組
- Spring Security - 環境設定
- Spring Security - 表單登入
- Spring Security - 自定義表單登入
- Spring Security - 登出
- Spring Security - 記住我
- Spring Security - 重定向
- Spring Security - 標籤庫
- Spring Security - XML 配置
- Spring Security - 認證提供程式
- Spring Security - 基本認證
- Spring Security - AuthenticationFailureHandler
- Spring Security - JWT
- Spring Security - 獲取使用者資訊
- Spring Security - Maven
- Spring Security - 預設密碼編碼器
- Spring Security – 密碼編碼
- Spring Security - 方法級別
- Spring Security 有用資源
- Spring Security - 快速指南
- Spring Security - 有用資源
- Spring Security - 討論

Spring Security 教程
在本教程中,我們將學習 Spring Security 框架。我們將從基礎開始,逐步瞭解各種框架的配置以與 Spring Security 協同工作。我們還將進行一些動手編碼,使用 Spring Security 框架執行 CRUD 操作。
什麼是 Spring Security?
Spring Security 是最流行的 Spring 專案之一,用於保護基於 Spring/Spring Boot 的應用程式。Spring Security 為我們在應用程式中實現身份驗證和授權提供了許多內建功能。
Spring Security 最初於 2003 年後期作為 Spring 的 Acegi Security System 出現,是一個簡單的基於 Spring 的安全實現。2006 年 5 月,在眾多生產軟體中使用、社群改進和錯誤修復後,釋出了 1.0.0 版本。到 2007 年底,Acegi Security System 更名為 Spring Security,併成為 Spring 官方專案組合的一部分。
什麼是身份驗證?
身份驗證確保使用者或客戶端就是其聲稱的身份。Spring Security 透過多種方式使我們能夠執行身份驗證。Spring Security 支援基本身份驗證、LDAP 身份驗證、JDBC 身份驗證等。
什麼是授權?
授權確保使用者是否具有執行該操作的許可權。如果我們的應用程式很複雜,並且有不同型別的使用者,例如管理員、普通使用者和其他許可權較低的使用者,我們需要在我們的應用程式中維護訪問控制。例如,訪客使用者不應能夠訪問管理員內容。因此,為了控制對應用程式內各種資源的訪問,我們需要檢查使用者是否有權訪問該資源。Spring Security 支援角色、宣告等來提供使用者級別的授權。
Spring Security 支援的身份驗證方法
Spring Security 支援大量身份驗證模型。大多數這些身份驗證模型是由第三方或網際網路工程任務組 IETF 作為標準機構開發的。能夠與廣泛的第三方身份驗證模型整合,使 Spring Security 在開發人員中非常受歡迎,可以將其整合到他們的專案中。Spring 也提供了自己的身份驗證功能。以下列表顯示了 Spring Security 支援的各種身份驗證方法。
HTTP 基本身份驗證標頭
HTTP摘要身份驗證標頭
HTTP X.509 客戶端證書交換
LDAP
基於表單的身份驗證
OpenID 身份驗證
基於預先建立的請求標頭的身份驗證
JA-SIG 中央認證服務,一個開源的單點登入系統
遠端方法呼叫 (RMI) 和 HttpInvoker 的透明身份驗證上下文傳播
記住我
匿名身份驗證
執行時身份驗證
Java 身份驗證和授權服務 (JAAS)
JEE 容器身份驗證
Kerberos
Java 開源單點登入 (JOSSO)
OpenNMS 網路管理平臺
AppFuse
AndroMDA
Mule ESB
直接 Web 請求 (DWR)
Grails
Tapestry
JTrac
Jasypt
Roller
Elastic Path
Atlassian Crowd
我們還可以將自己的自定義身份驗證機制與 Spring Security 整合。
受眾
本教程將對研究生、研究生和研究人員有所幫助,他們要麼對該主題感興趣,要麼將其作為課程的一部分。讀者可以是初學者或高階學習者。
先決條件
雖然本教程沒有強制性要求。但是,如果您具備以下任何或所有(超級酷)先驗知識,將是一個額外的優勢 -
大約 30 分鐘
Spring Security 基礎知識
對 Apache Solr 資料庫的基本瞭解。
一個基於 Java 的 IDE(Eclipse、STS 或 IntelliJ IDEA)
JDK 1.8 或更高版本
Gradle 4+ 或 Maven 3.2+
已安裝 Apache Solr