spring security系列三:spring boot 集成security

本文將主要介紹spring boot 如何整合spring security

一、添加依賴

在pom.xml中添加如下配置,引入對Spring Security的依賴。

spring security系列三:spring boot 集成security

二、Spring Security配置

spring security系列三:spring boot 集成security

  • @EnableWebSecurity 註解開啟Spring Security的功能

  • 繼承WebSecurityConfigurerAdapter,並重寫它的方法來設置一些web安全的細節

  • 方法configure(HttpSecurity http)

    authorizeRequests()定義哪些URL需要被保護、哪些不需要被保護,例如以上代碼指定了/
    /home不需要任何認證就可以訪問,其他的路徑都必須通過身份驗證。。

    formLogin()定義了用戶登錄是指向的是哪個頁面地址。

    permitAll()代表了這些路徑是不需要任何鑑權

  • configureGlobal(AuthenticationManagerBuilder auth)方法,在內存中創建了一個用戶,

    該用戶的名稱為user,密碼為password,用戶角色為USER,如果是實際使用過程一般需要結合自己的用戶表去做。

新增登錄請求與頁面

在完成了Spring Security配置之後,我們需要新建一個Controller,讓他跳轉到我們自己定義的登陸頁。

spring security系列三:spring boot 集成security

新增登錄頁面src/main/resources/templates/login.html

spring security系列三:spring boot 集成security

可以看到,實現了一個簡單的通過用戶名和密碼提交到/login
的登錄方式。根據配置,Spring Security提供了一個過濾器來攔截請求並驗證用戶身份。如果用戶身份認證失敗,頁面就重定向到/login?error,並且頁面中會展現相應的錯誤信息。若用戶想要註銷登錄,可以通過訪問/login?logout請求,在完成註銷之後,頁面展現相應的成功消息。

spring security系列三:spring boot 集成security


分享到:


相關文章: