SpringBootSecurity學習(01)網頁版登錄入門介紹


Web應用安全管理

Web應用的安全管理,主要包括兩個方面的內容,一個是用戶身份的認證,即用戶登錄的設計,二是用戶授權,即一個用戶在一個應用系統中能夠執行哪些操作的權限管理。權限管理的設計一般使用角色來管理,即給一個用戶賦予哪些角色,這個用戶就具有哪些權限。

Spring框架體系中,經典的安全體系框架是Security。關於系統的安全管理及各種設計,Spring Security已經大體上都實現了,只需要一些配置和引用就能夠正常使用。SpringBoot使用Security更加的簡單,因為SpringBoot本身的簡單配置使用加上Security的功能豐富全面,可用快速幫助我們構建完善的登陸認證服務。

關於Security,SpringBoot本身有spring-boot-starter-security依賴組件,Spring Cloud微服務全家桶中也有spring-cloud-starter-security依賴組件,並且spring-cloud-starter-security中也包含了spring-boot-starter-security,下面的學習中,會先使spring-boot-starter-security,然后再spring-cloud-starter-security學習安全管理的功能,從SpringBoot單體的登陸注冊和權限管理,到Spring Cloud微服務中構建認證和授權服務,都會一一接觸到。

關於版本的問題,我從SpringBoot1.3.x版的使用到2.1.x的使用,Security的配置也經歷了不小的變化,最准確的配置建議去官網文檔學習。
下面的學習中,將使用2.1.5版本,官方文檔地址是: https://docs.spring.io/spring-boot/docs/2.1.5.RELEASE/reference/htmlsingle/ 。 Security的源碼非常復雜,因此我們后面再討論深層次的東西,現在來用實例進行入門學習。

入門例子

先來看一個入門例子,springboot項目結構我們都很熟悉,先來看依賴:

file

依賴很簡單,除了一個web組件和thymeleaf視圖組件,就是一個security。接下來看一下啟動類:

file

可以看到啟動類沒有任何特殊的配置。至於配置文件,我們簡單的配置一下端口,其它不做任何配置:

file

這樣一個簡單的入門例子就完成了,現在來啟動項目,啟動日志很短,可以看到有一行特殊的日志:

file

這是我們加入了security組件的依賴之后,引入了security的默認配置,此時就有了一個簡單的登錄功能,打印出的一行是默認密碼的信息,這個密碼是現在沒有任何代碼和配置的狀態下每次啟動隨機生成的,security不僅會生成一個默認密碼,依賴組件中還有一個默認的登陸鏈接/login,還有一個默認的用戶名 user,而且在springboot2.1.x版本中,這個/login有一個非常不錯的默認登錄頁面,下面進行測試:

file

用戶名輸入user,密碼輸入日志中打印出的隨機密碼,登錄成功后,就會跳轉到默認地址,默認成功的地址就是登錄地址去掉/login,

file

現在沒有定義任何鏈接匹配這個地址,我們來定義一個簡單的頁面,在resource下面,新建一個templates文件夾,在templates下面新建一個主頁 home.html,內容如下:

file

然后定義一個controller跳轉到這個頁面:

file

這樣我們登陸成功后,就能自動跳轉到這個頁面:

file

這樣,一個最簡單的登錄流程就完成了,我們幾乎沒有做任何配置,只是引入了一個依賴而已。下面我們給security配置一個默認用戶名密碼,這樣就不用每次啟動都用隨機密碼,直接在springboot的默認配置文件中配置:

file

這樣等登陸就可以使用 admin/admin登陸了。

代碼地址 :https://gitee.com/blueses/spring-boot-security 01


免責聲明!

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



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