1. 程式人生 > >Shiro學習筆記之(五)Apache Shiro 授權

Shiro學習筆記之(五)Apache Shiro 授權

一、概念

授權即許可權管理,即訪問控制。三個核心元素:許可權、角色和使用者

1.1許可權 :Shiro是安全機制中最核心得元素,定義使用者被允許做什麼。

1.2 角色  代表一組行為或職責,角色通常是分配給使用者的。Shiro支援兩種型別角色:

    a.隱式角色 傳統方式,一個角色代表著一系列的操作,當需要對某一操作進行授權驗證時,只需判斷是否是該角色即可。

    b.顯示角色 一個顯示角色本質上是一個授權宣告的命名集合。授權驗證時,需要判斷當前角色是否擁有該許可權。

1.3使用者 subject 應用程式執行某些操作,是通過讓他們與角色相關聯或時直接授予許可權。

二、授權的實現

    Shiro有三種授權方式:程式設計方式授權,註解方式授權,標籤方式授權。

2.1程式設計方式授權(簡單常見的方式)

a.基於角色授權

Role checks(角色檢查)


Role Assertions(角色斷言) 成功不返回任何值,程式繼續執行,失敗時丟擲AuthorizationException異常


可以直接捕捉AuthorizationException異常來處理。

b.基於許可權授權

基於許可權授權不會因為角色的改變而對程式碼進行修改。

Object-based Permission Checks(基於物件的許可權檢查)


String-Based permission checks(基於字串的許可權檢查)


2.2 註解方式



這一部分需要結合實際業務理解,後續補充。。。

2.3 JSP標籤方式

使用之前需要引入

  <%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>