011 註解驅動許可權管理

2022-09-14 05:42:12 字數 1274 閱讀 4466

一 . 概述

在shiro之中有三種方式進行許可權的管理,

(1)硬編碼的方式,如subject.hasrole()這樣的方式在**之中織入.

(2)使用註解的方式進行許可權管理

(3)使用jsp標籤的方式進行許可權控制

本節,我們使用註解的方式進行配置.

二 .環境的配置

"lifecyclebeanpostprocessor

"class="

org.apache.shiro.spring.lifecyclebeanpostprocessor

">

class="

org.springframework.aop.framework.autoproxy.defaultadvisorautoproxycreator

"depends-on="

lifecyclebeanpostprocessor

"/>

class="

org.apache.shiro.spring.security.interceptor.authorizationattributesourceadvisor

">

"securitymanager

"ref="

securitymanager

"/>

上面的配置需要在我們的spring.xml之中配置.

說明,如果我們想要攔截controller,那麼我們就需要將此配置放置在springmvc.xml的配置檔案之中.

如果我們想要攔截service的**,我們就需要將此配置檔案放置到spring.xml檔案之中.

總的來說,這個是由spring的父子容器造成的.

三 .測試**

@restcontroller

public

class

advicecontroller

}

上面的方式是需要認證之後才能進行訪問的,當我們沒有認證的時候,我們就不能進行訪問.

此時,會丟擲乙個異常的資訊來.

我們可以做乙個全域性的異常***,將頁面重定向到登入頁面.

四.總結

完成shiro的註解配置十分的簡單,只需要配置幾個bean就能完成.

但是我們思考這麼乙個問題,我們使用註解其實就是硬編碼.只不過編寫註解變得簡單了.

因此,我們拒絕使用角色的註解,而是使用許可權的註解.

這樣我們可以通過分配許可權來完成許可權的動態分配,如果分配的是角色,那麼我們這種動態性就不存在了.  

shiro註解許可權控制 5個許可權註解

shiro共有5個註解,接下來我們就詳細說說吧 使用方法 shiro的認證註解處理是有內定的處理順序的,如果有個多個註解的話,前面的通過了會繼續檢查後面的,若不通過則直接返回,處理順序依次為 與實際宣告順序無關 requiresroles requirespermissions requiresau...

shiro註解許可權控制 5個許可權註解

shiro共有5個註解,接下來我們就詳細說說吧 requiresauthentication 使用該註解標註的類,例項,方法在訪問或呼叫時,當前subject必須在當前session中已經過認證。requiresguest 使用該註解標註的類,例項,方法在訪問或呼叫時,當前subject可以是 gu...

shiro許可權註解

shiro許可權註解 可以用在controller層對應的方法上 service層對應的方法上 1 requiresauthentication 表示當前subject已經通過login進行了身份驗證 即subject.isauthenticated 返回true。2 requiresuser 表示...