前言算法
在以前介紹過了Shiro以後,有好多粉絲問SpringSecurity在Spring Boot中怎麼集成。這個系列咱們就和你們分享下有關這方面的知識。spring
本節大綱sql
2、經常使用安全框架
1、什麼是Spring Security?數據庫
SpringSecurity是基於Spring AOP和Servlet過濾器的安全框架。它提供全面的安全性解決方案,同時在Web 請求級和方法調用級處理身份確認和受權。在 Spring Framework 基礎上,Spring Security 充分利用了依賴注入(DI,Dependency Injection)和麪向切面編程(AOP)功能,爲應用系統提供聲明式的安全訪問控制功能,減小了爲企業系統安全控制編寫大量重複代碼的工做。它是一個輕量級的安全框架,它確保基於Spring的應用程序提供身份驗證和受權支持。它與Spring MVC有很好地集成,並配備了流行的安全算法實現捆綁在一塊兒。安全主要包括兩個操做「認證」與「驗證」(有時候也會叫作權限控制)。「認證」是爲用戶創建一個其聲明的角色的過程,這個角色能夠一個用戶、一個設備或者一個系統。「驗證」指的是一個用戶在你的應用中可以執行某個操做。在到達受權判斷以前,角色已經在身份認證過程當中創建了。編程
咱們簡單來理解一下上面這段話:緩存
第一:什麼是Spring Security ?安全
Spring Security是一個安全框架。springboot
第二:Spring Security核心功能?微信
(1)認證(你是誰,用戶/設備/系統)框架
(2)驗證(你能幹什麼,也叫權限控制/受權,容許執行的操做)
(3)攻擊防禦(防止僞造身份)
第三:Spring Security原理技術
Filter、Servlet、Spring DI、SpringAOP
2、經常使用安全框架
目前經常使用的安全框架主要是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有一個基本的認識。
SpringBoot2+SpringSecurity5視頻
相關技術版本以下:
(1)JDK版本:1.8
(2)Spring Boot 2.0.6
(3)Spring Security 5.0.9
(4)Spring Data JPA 2.0.11.RELEASE
(5)hibernate5.2.17.Final
(6)MySQLDriver 5.1.47
(7)MySQL 8.0.12
已更新視頻列表:
1. 概述
2. 初體驗
3. 基於內存的認證信息
4. 基於內存的角色受權
5. 基於內存數據庫的身份認證和角色受權
6. 基於MySQL數據庫的身份認證和角色受權
7. 自定義登陸頁面和構建主頁
8. 登出和403處理
8. 登出和403處理
9. 動態加載角色
10. 原理1
11. 自定義Filter
…
連載中...
…
Spring Boot+Spring Security:基於URL動態權限配置
學院中有Spring Boot相關的課程!點擊「當即前往」進行查看!
SpringBoot視頻:http://t.cn/R3QepWG
Spring Cloud視頻:http://t.cn/R3QeRZc
SpringBoot Shiro視頻:http://t.cn/R3QDMbh
SpringBoot交流平臺:http://t.cn/R3QDhU0
SpringData和JPA視頻:http://t.cn/R1pSojf
SpringSecurity5.0視頻:http://t.cn/EwlLjHh
219.Spring Boot+Spring Security:基於MySQL數據庫的身份認證和角色受權 218.Spring Boot+Spring Security:基於內存數據庫的身份認證和角色受權 217.Spring Boot+Spring Security:基於內存的角色受權 216.Spring Boot+Spring Security:基於內存的認證信息 215.Spring Boot+Spring Security:初體驗 214. Spring Security:概述 213.Spring Boot 2.0新特性:配置綁定 212. Spring Boot WebFlux:響應式Spring Data之MongoDB 211. Spring Boot WebFlux:使用篇 210. Spring Boot WebFlux:概念篇 Java8新特性:Stream:實戰篇 爲了更勇敢,你能夠懼怕@一禪小和尚 Java8新特性:Stream:基礎篇 Java8新特性:方法引用 209. SpringBoot quartz:sqlserver啓動只有 DECLARE CURSOR 才容許使用... 風口之上,我是那頭豬嘛? Java8新特性:Lambda表達式: 摸摸裏面 Java8新特性:Lambda表達式:過關斬將:使用場景 Java8新特性:Lambda表達式:小試牛刀 下雨天,適合學「Spring Boot」 Java8新特性:接口的默認方法 208. Spring Boot Swagger2:排序 – 漂游記 207. Spring Boot Swagger2:極簡方式 我讀的書不少,但都沒有你好看【一禪錄】 206. Spring Boot 2.0 Swagger2:使用 205. Spring Boot 2.0 Swagger2:初識Swagger 當要離開的時候,我卻動情了 205. jetcache:你須要知道的小技巧 204. jetcache:在Spring Boot中怎麼玩?
搜索「springboot」或者掃描如下二維碼便可關注: