1. 程式人生 > 其它 >01 SpringSecurity 框架簡介

01 SpringSecurity 框架簡介

SpringSecurity 框架簡介

安全方面的兩個主要區域是“認證”和“授權”(或者訪問控制),一般來說,Web 應用的安全性包括使用者認證(Authentication)和使用者授權(Authorization)兩個部分,這兩點也是 Spring Security 重要核心功能。

(1)使用者認證指的是:驗證某個使用者是否為系統中的合法主體,也就是說使用者能否訪問該系統。使用者認證一般要求使用者提供使用者名稱和密碼。系統通過校驗使用者名稱和密碼來完成認證過程。通俗點說就是系統認為使用者是否能登入

(2)使用者授權指的是驗證某個使用者是否有許可權執行某個操作。在一個系統中,不同使用者所具有的許可權是不同的。比如對一個檔案來說,有的使用者只能進行讀取,而有的使用者可以進行修改。一般來說,系統會為不同的使用者分配不同的角色,而每個角色則對應一系列的許可權。通俗點講就是系統判斷使用者是否有許可權去做某些事情。

SpringSecurity 特點:

  • 和 Spring 無縫整合。

  • 全面的許可權控制。

  • 專門為 Web 開發而設計。

    舊版本不能脫離 Web 環境使用。

    新版本對整個框架進行了分層抽取,分成了核心模組和 Web 模組。單獨引入核心模組就可以脫離 Web 環境。

  • 重量級。

Shiro
Apache 旗下的輕量級許可權控制框架

特點:
輕量級。Shiro 主張的理念是把複雜的事情變簡單。針對對效能有更高要求
的網際網路應用有更好表現。
通用性。
◼好處:不侷限於 Web 環境,可以脫離 Web 環境使用。
◼缺陷:在 Web 環境下一些特定的需求需要手動編寫程式碼定製。

一般來說,常見的安全管理技術棧的組合是這樣的:

• SSM + Shiro

• Spring Boot/Spring Cloud + Spring Security

以上只是一個推薦的組合而已,如果單純從技術上來說,無論怎麼組合,都是可以執行的

在pom.xml 新增依賴

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

執行專案會跳出頁面進行登入

預設的使用者名稱:user
密碼在專案啟動的時候在控制檯會列印,注意每次啟動的時候密碼都回發生變化!