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