這篇文章將為大家詳細講解有關快速實現Spring security權限認證管理的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
一、構建項目
話不多說直接開始。
pom.xml:
spring security的核心依賴如下
<!-- 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 的 UserDetails
重寫它的幾個方法,默認配置為 false 需變為 true。
配置 UserService 實現 UserDetailsService 接口,同時重寫 loadUserByUsername 方法 。
該方法是security登錄時使用的方法,查詢的信息的需包含用戶(User)信息以及角色(Role)信息。
創建 UserController, 由于我們在上面配置了.antMatchers("/login","/register") 使得在未登錄時只允許訪問這兩個接口。
再未登錄時訪問非許可的接口會轉到login登錄。
效果如下:
登錄成功后訪問 /users
我們很方便的實現了登錄授權,使得我們的API得到了保護。
如需指定區分不同角色下的訪問權限時只要在Controller加上一下注解即可。
@PreAuthorize("hasRole('ROLE_ADMIN')")//需要管理員身份
@PreAuthorize("hasRole('ROLE_USER')")//需要用戶身份
通過以上的簡要敘述我們完成了Springboot + mybatis 整合 Spring security。
由于時間有限在文中只做簡要敘述,訪問我的Github查看完整的Demo。
url: https://github.com/admin79/SecurityDemo
關于快速實現Spring security權限認證管理的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。