springboot整合shiro實現許可權認證

2022-08-24 12:24:13 字數 1484 閱讀 4193

github:

1.加入usercontroller

/**

* 許可權認證

* 需要開啟shiro aop註解支援

* @requirespermissions()

* @requiresroles()等註解的支援

* @param securitymanager

* @return

*/@bean

public authorizationattributesourceadvisor authorizationattributesourceadvisor(securitymanager securitymanager)

這時候,我們再登入之後訪問http://localhost:8080/userinfo/userdel就會報org.apache.shiro.authz.unauthorizedexception異常了。同時後台會列印許可權驗證的資訊。

3.如果想讓使用者沒許可權時,進入無許可權提示的指定頁面可以這麼設定在shiroconfiguration中加入

/**同時將該實現類以bean的方式,放到啟動類中

* created by bfd-593 on 2017/8/9.

*/public class myexceptionresolver implements handlerexceptionresolver

return null;}}

然後在啟動類中新增:

/**

* 統一異常處理

* @return

*/@bean

public myexceptionresolver myexceptionresolver()

這時,當使用者沒許可權時會跳轉到403.html,當丟擲runtimeexception時跳轉到500.html(異常沒有**獲的時候哦...)

以上就是實現當使用者訪問請求時,驗證使用者是否擁有該請求的許可權,但是,如果我們想頁面上的某些標籤,使用者沒有該許可權時讓他不展示,那該怎麼辦呢。這裡由於用到的是thymeleaf模板,所以我們需要特殊處理:

1.在pom中新增

com.github.theborakompanioni

thymeleaf-extras-shiro

1.2.1

2.在shiroconfiguration中新增

/**

* 整合thymeleaf中可以使用shiro標籤

* @return

*/@bean

public shirodialect shirodialect()

3.在html中修改

新增:

這裡是shiro許可權

表示當前使用者擁有userinfo:view許可權並且所屬角色是wangjing時,可以看到此標籤中的內容。

至此,shiro許可權介紹完畢

springBoot整合dubbo整合專案

傳統spring 整合dubbo,需要繁瑣的編寫一堆堆的 xml 配置檔案 而springboot整合dubbo後,不在需要寫 xml,通過jar包引用,完 成整合,通過註解的形式完成配置。提高我們的開發效率 目錄結構 1 服務層生產者開發 hs ldm server service 1.1新增du...

SpringBoot整合系列 整合Swagger2

io.springfox springfox swagger2 2.7.0 io.springfox springfox swagger ui 2.7.0 一般無配置項,必要時可以新增自定義配置項,在配置類中讀取 swagger2的配置內容僅僅就是需要建立乙個docket例項 configurati...

SpringBoot整合PageHelper外掛程式

springboot整合pagehelper外掛程式的時候主要分為以下幾步?1.在pom.xml中引入依賴 com.github.pagehelper pagehelper spring boot starter 1.2.3 分頁外掛程式 pagehelper.helperdialect mysql...