幾分鐘實現Spring security權限認證管理

1、構建項目

話很少說直接開始。git

pom.xml:github

spring security的核心依賴以下spring

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

配置用戶主類:User 同時實現security 的 UserDetailsmybatis

圖片描述

重寫它的幾個方法,默認配置爲 false 需變爲 true。spring-boot

圖片描述


配置 UserService 實現 UserDetailsService 接口
,同時重寫 loadUserByUsername 方法 。測試

該方法是security登陸時使用的方法,查詢的信息的需包含用戶(User)信息以及角色(Role)信息。url

圖片描述

2、測試

建立 UserController, 因爲咱們在上面配置了.antMatchers("/login","/register") 使得在未登陸時只容許訪問這兩個接口。spa

圖片描述

再未登陸時訪問非許可的接口會轉到login登陸。
效果以下:3d

圖片描述

登陸成功後訪問 /userscode

圖片描述

咱們很方便的實現了登陸受權,使得咱們的API獲得了保護。
如需指定區分不一樣角色下的訪問權限時只要在Controller加上一下註解便可。

@PreAuthorize("hasRole('ROLE_ADMIN')")//須要管理員身份

@PreAuthorize("hasRole('ROLE_USER')")//須要用戶身份

3、結束

經過以上的簡要敘述咱們完成了Springboot + mybatis 整合 Spring security。
因爲時間有限在文中只作簡要敘述,訪問個人Github查看完整的Demo。

url: https://github.com/admin79/SecurityDemo

原文同步至 https://www.waytoa.top

相關文章
相關標籤/搜索