Spring Security:概述


前言

       在之前介紹過了Shiro之后,有好多粉絲問SpringSecurity在Spring Boot中怎么集成。這個系列我們就和大家分享下有關這方面的知識。

 

本節大綱

一、什么是SpringSecurity?

二、常用安全框架

 

一、什么是Spring Security?

SpringSecurity是基於Spring AOP和Servlet過濾器的安全框架。它提供全面的安全性解決方案,同時在Web 請求級和方法調用級處理身份確認和授權。在 Spring Framework 基礎上,Spring Security 充分利用了依賴注入(DI,Dependency Injection)和面向切面編程(AOP)功能,為應用系統提供聲明式的安全訪問控制功能,減少了為企業系統安全控制編寫大量重復代碼的工作。它是一個輕量級的安全框架,它確保基於Spring的應用程序提供身份驗證和授權支持。它與Spring MVC有很好地集成,並配備了流行的安全算法實現捆綁在一起。安全主要包括兩個操作“認證”與“驗證”(有時候也會叫做權限控制)。“認證”是為用戶建立一個其聲明的角色的過程,這個角色可以一個用戶、一個設備或者一個系統。“驗證”指的是一個用戶在你的應用中能夠執行某個操作。在到達授權判斷之前,角色已經在身份認證過程中建立了。

       我們簡單來理解一下上面這段話:

第一:什么是Spring Security ?

Spring Security是一個安全框架。

第二:Spring Security核心功能?

(1)認證(你是誰,用戶/設備/系統)

(2)驗證(你能干什么,也叫權限控制/授權,允許執行的操作)

(3)攻擊防護(防止偽造身份)

第三:Spring Security原理技術

Filter、Servlet、Spring DI、SpringAOP

 

二、常用安全框架

       目前常用的安全框架主要是Spring Security和Apache Shiro,它們的區別是什么呢?

2.1 相同點

(1)認證功能

(2)授權功能

(3)加密功能

(4)會話功能

(5)緩存支持

(6)remeberMe功能

……

2.2 不同點(Spring Security PK Apache Shiro

優點:

(1)Spring Security基於Spring開發,項目中如果使用Spring作為基礎,配合Spring Security做權限更加方便。而Shiro需要和Spring進行整合。

(2)Spring Security功能比Shiro更加豐富,例如安全防護方面。

(3)Spring Security社區資源相對比Shiro更加豐富。

(4)如果使用的是Spring Boot,Spring Cloud的話,三者可以無縫集成。

缺點:

(1)Shiro的配置和使用比較簡單,Spring Security上手復雜些。

(2)Shiro依賴性低,不需要任何框架和容器,可以獨立運行,而Spring Security依賴Spring容器。

       企業里選擇哪個安全框架,是因人而異,因團隊而異,擅長哪個選擇哪個,大部分的業務場景,兩個框架都是可以滿足需求的。

       本節就到這里,下節我們通過編碼對於Spring Security有一個基本的認識。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM