Shiro學習筆記之(五)Apache Shiro 授權
阿新 • • 發佈:2019-02-02
一、概念
授權即許可權管理,即訪問控制。三個核心元素:許可權、角色和使用者
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" %>