Spring Security 中的一些重要術語
Spring 是目前最流行的 Java Web 框架。它用於透過 Java 程式語言構建 Web 應用程式。要使用此框架,需要具備紮實的 Java 背景和理解。
保護我們的寶貴資料免受不道德行為至關重要。在本文中,我們將介紹 Spring Security 中的一些重要術語,這些術語有助於我們保護使用者資料。我們不會深入分析任何術語。
與 Spring Security 相關的術語
Spring Security 是一個開源安全框架,並作為 Spring 應用程式的全面安全解決方案。它可以輕鬆地與 Spring 和 Spring Boot 框架整合。它處理應用程式安全的主要領域,例如身份驗證、授權、CSRF 等。
讓我們討論一些與 Spring Security 相關的術語 -
身份驗證
這是檢查或驗證與應用程式互動的使用者身份的過程。這是最重要的步驟,因為要使用應用程式的其他服務,必須驗證使用者的身份。驗證使用者的一種常見做法是輸入使用者名稱和密碼。Spring Security 擁有自己的一套身份驗證功能,可以與以下技術整合 -
HTTP 身份驗證。
LDAP,提供跨平臺的身份驗證需求。
OpenID 身份驗證。
基於表單的身份驗證
自動身份驗證,例如“記住我”,是登入表單上提供的複選框,用於避免在一段時間內重新進行身份驗證。
Spring Security 具有一個稱為記憶體中身份驗證的出色功能,它允許將使用者資料儲存在應用程式記憶體或 RAM 中。我們可以執行身份驗證而無需考慮其他資料庫。它節省了我們的時間並提高了效率。
授權
在對使用者進行身份驗證後,下一步是驗證特定使用者允許執行哪些操作,此活動稱為授權。例如,人力資源管理系統有兩種型別的使用者,一種是員工,另一種是管理員。員工和管理員的許可權之間存在一些差異。普通員工無法新增、更新或刪除任何資訊,而管理員可能有權這樣做。
讓我們用非常簡單的語言瞭解 Spring Security 中的授權是如何工作的。在身份驗證過程中,會建立一個“GrantedAuthority”物件的列表。這些物件表示授予特定使用者或系統的許可權。然後,這些物件由“AuthenticationManager”插入“Authentication”物件中。稍後,在進行授權決策的過程中,“AccessDecisionMangers”讀取“GrantedAuthority”物件。
密碼編碼
在全球範圍內,大多數裝置由於密碼薄弱而遭到駭客攻擊並面臨網路釣魚攻擊。顯然,加強密碼是另一個話題。我們將在本文中討論 Spring Security 採取的安全措施。
最糟糕的錯誤可能是以純文字形式儲存使用者密碼。值得慶幸的是,Spring Security 允許使用各種密碼編碼方法,例如 MD5 和 scrypt。預設情況下,使用 BCrypt 加密密碼。所有這些技術都屬於雜湊演算法,我們無需自己開發它們。它們寫在“<password-encoder>”元素中。
主體
此術語在 Spring Security 框架中具有特殊含義。它指的是與您的應用程式互動並執行任何操作的使用者、裝置或任何型別的系統。
過濾器
為了應用其服務,Spring Security 使用了一系列過濾器。每當來自客戶端的請求到達時,它首先會經過這些過濾器,然後再執行。下面討論了一些過濾器的用例 -
BasicAuthenticationFilter - 此過濾器負責使用者的基本身份驗證。
FormBasedAuthenticationFilter - 它對來自基於表單的登入技術的請求進行身份驗證。
CsrfFilter - 它處理跨站點請求。
CorsFilter - 此過濾器處理跨源資源共享。
結論
Spring Security 框架針對的兩個主要領域是身份驗證和授權。在本文中,我們討論了 Sprind Security 用於使應用程式安全的各種技術和方法。大多數功能都是完全可定製的,可以根據我們的需要進行配置。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP