1.新增依賴
//主要加這個依賴
org.springframework.boot<
/groupid>
spring-boot-starter-security<
/artifactid>
<
/dependency>
//這個依賴是用於在前端判斷提示的,需要在頁面匯入
"">
org.thymeleaf.extras<
/groupid>
thymeleaf-extras-springsecurity4<
/artifactid>
3.0.4
.release<
/version>
<
/dependency>
2.配置securityconfig//攔截後跳到登陸,登陸成功後跳到首頁
@configuration
@enablewebsecurity
public
class
securityconfig
extends
websecurityconfigureradapter
//認證
@override
protected
void
configure
(authenticationmanagerbuilder auth)
throws exception
//加密方法
@bean
public bcryptpasswordencoder bcryptpasswordencoder()
}
3.userserviceimp實現userdetailsservice@service
public
class
userserviceimp
implements
userdetailsservice
//因為userdetails返回值得第三個引數是個collection集合,所以必須儲存在list集合裡
list<******grantedauthority>
authorities =
newarraylist
<
>()
;//spring security從資料庫中新增許可權必須要加字首role_,不然讀取不到
authorities.
add(
new******grantedauthority
("role_"
+user.
getperms()
));//對密碼進行加密
string encodedpassword = bcryptpasswordencoder.
encode
(user.
getpassword()
);//將加密了的密碼儲存到user中
user.
setpassword
(encodedpassword)
;return
neworg.springframework.security.core.userdetails.user
(user.
getusername()
,user.
getpassword()
,authorities);}
}
4.前端頁面
sec:authorize
="!isauthenticated()"
>
class
="item"
th:href
="@"
>
class
="address card icon"
>
i>
登入 a
>
div>
sec:authorize
="isauthenticated()"
>
class
="item"
>
使用者名稱:sec:authentication
="name"
>
span
>
a>
class
="item"
th:href
="@"
>
class
="sign-out icon"
>
i>
登出 a
>
div>
class
="column"
sec:authorize
="hasrole('vip1')"
>
vip1使用者才能看得見
div>
spring security 安全框架
本文 http itblood.com spring security security framework.html 安全常識 acegi介紹 以宣告式方式為基於spring的web應用新增認證和授權控制 acegi體系結構 認證管理器 訪問控制管理器。認證 authenticationproce...
SpringSecurity認證流程
在之前的文章 springboot spring security 基本使用及個性化登入配置 中對springsecurity進行了簡單的使用介紹,基本上都是對於介面的介紹以及功能的實現。這一篇文章嘗試從原始碼的角度來上對使用者認證流程做乙個簡單的分析。在具體分析之前,我們可以先看看springse...
SpringSecurity使用技巧
1 鑑權處理頁通常包括四個方面的設定,分別是鑑權失敗 鑑權成功 未鑑權訪問 已鑑權但訪問了受保護許可權。如何自 定義這四類處理。鑑權失敗的預設處理頁面是 spring security login?login error 其預設處理類為 urlauthenticationfailurehandler...