SpringSecurity(spring安全)
- SpringSecurity是用來干嘛的?
- Spring Security 核心功能
- Spring Security 作業流程
- 1.匯入POM坐標,thymeleaf用來測驗Restful,security
- 2.訪問資源
- 3.AOP橫切進入,不用繁瑣配置,來一個配置類
設計之初就需要考慮,網站安全 比如SpringSecurity和shiro,
認證、授權(vip1,vip2,vip3)
SpringSecurity是用來干嘛的?
其實spring Security就是一個過濾器鏈,而最核心的是 Basic Authentication Filter ,會認證用戶身份,
Spring Security 核心功能
· 認證 (你是誰)
· 授權 (你能干什么)
· 攻擊防護 (防止偽造身份)
Spring Security 作業流程

圖來源于此博客
其中綠色部分的每一種過濾器代表著一種認證方式,主要作業檢查當前請求有沒有關于用戶資訊,如果當前的沒有,就會跳入到下一個綠色的過濾器中,請求成功會打標記,綠色認證方式可以配置,比如短信認證,微信,比如如果我們不配置 BasicAuthenticationFilter 的話,那么它就不會生效,
FilterSecurityInterceptor 過濾器是最后一個,它會決定當前的請求可不可以訪問Controller,判斷規則放在這個里面,當不通過時會把例外拋給在這個過濾器的前面的 ExceptionTranslationFilter 過濾器,
ExceptionTranslationFilter 接收到例外資訊時,將跳轉頁面引導用戶進行認證,橘黃色和藍色的位置不可更改,當沒有認證的request進入過濾器鏈時,首先進入到 FilterSecurityInterceptor,判斷當前是否進行了認證,如果沒有認證則進入到 ExceptionTranslationFilter,進行拋出例外,然后跳轉到認證頁面(登錄界面),
1.匯入POM坐標,thymeleaf用來測驗Restful,security
<!-- spring-boot-starter-thymeleaf -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!-- spring-boot-starter-security -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
坐標一旦配置 就會自動攔截
引入了 spring Security 如果什么都不設定自動會卡在第一關登錄
登錄名默認為 user 密碼 會在控制臺顯示
2.訪問資源
匯入靜態資源和html頁面

隨便寫個 controller


運行

已經被攔截了,
3.AOP橫切進入,不用繁瑣配置,來一個配置類
記住幾個 類
1. WebSecurityConfigurerAdapter :(配接器模式,自定義Security策略)
2. AuthenticationManagerBuilder : (建造者模式,自定義認證策略)
3. @EnableWebSecurity :開啟WebSecurity模式, @EnableXXX 開啟某個功能
SpringSecurity的用戶認證和授權
SpringSecurity的注銷及權限控制
SpringSecurity的記住我及首頁定制
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/234368.html
標籤:其他
