增加Security配置類 前面演示了一個簡單的登錄入門例子,使用springboot security預設的配置實現,雖然非常簡單,但是基本實現了登錄功能。不過在生產環境下,顯然不能僅僅使用如此簡單的登錄功能,我們還需要更多個性化的登錄配置,所以我們要使用配置類來代替預設配置。新建一個配置類 We ...
增加Security配置類
前面演示了一個簡單的登錄入門例子,使用springboot-security預設的配置實現,雖然非常簡單,但是基本實現了登錄功能。不過在生產環境下,顯然不能僅僅使用如此簡單的登錄功能,我們還需要更多個性化的登錄配置,所以我們要使用配置類來代替預設配置。新建一個配置類 WebSecurityConfig,繼承 WebSecurityConfigurerAdapter :
現在的配置類沒有配置任何內容,重啟項目,訪問登錄頁面發現找不到預設登錄頁面了:
訪問主頁,發現可以直接訪問,不會預設跳轉到登錄頁面了:
恢復預設登錄頁面
配置預設登錄頁面的配置很簡單:
重啟再次訪問,就可以看到登錄頁面了:
恢復自動跳轉到登錄頁面
用戶在沒有登錄的情況下,訪問任何未授權的頁面,都會自動跳轉到登錄頁面,這是登錄的基本功能。在security中加入如下的授權配置:
其中,調用authorizeRequests()的意思是指通過authorizeRequests()方法來開始請求許可權配置,anyRequest().fullyAuthenticated()是對http所有的請求必須通過授權認證才可以訪問。除了fullyAuthenticated方法,還可以使用authenticated方法,這兩個有什麼區別呢?來看一下官方文檔的描述:
也就是說,fullyAuthenticated不僅可以讓有許可權的用戶訪問,還可以讓remember-me的用戶訪問。所以,如果登錄頁面有記住我,一定要使用fullyAuthenticated。
現在重啟訪問,可以發現恢復了原來入門例子中的效果。後面的例子中,我們會加入更多的個性化配置。
代碼地址:https://gitee.com/blueses/spring-boot-security 02