先寫個例子看一下:
1、在realm中進行授權
1.2使用者請求的這個方法必須要有"quanxian"這個授權,才可以訪問。
這裡給予當前登陸使用者"quanxian",這個訪問許可權。加上之後可以測試一下。
2、使用shiro的方法註解方式許可權控制:
第一步:在spring配置檔案中開啟shiro註解支援
第二步:在action的方法上使用shiro註解
第三步:在struts.xml中配置全域性異常捕獲,當shiro框架丟擲許可權不足異常時,跳轉到許可權不足提示頁面
你需要建立乙個unauthorized.jsp許可權不足頁面。
頁面顯示處理:使用shiro提供的頁面標籤方式許可權控制
第一步:在jsp頁面中引入shiro的標籤庫
第二步:使用shiro的標籤控制頁面元素展示,shiro強大之處就連js**都可以控制。
這裡是easyui的工具的刪除按鈕,使用shiro標籤包裹,需要使用者該改許可權才可以看到該按鈕。
還有第三種方式,**級別的許可權控制,並不推薦使用。不做介紹。
總結shiro框架提供的許可權控制方式:
url攔截許可權控制(基於過濾器實現)
方法註解許可權控制(基於**技術實現)
頁面標籤許可權控制(標籤技術實現)
**級別許可權控制(基於**技術實現)
下面我們可以來看一下大多專案中許可權表的關係設計等,來更好的完成許可權控制。
大多數會有5張表,或者7張表,我們先看一下5張表的設計,
分為:許可權表,角色表(角色就是許可權的集合,引入角色表,是為了方便授權),使用者表,角色許可權關係表,使用者角色關係表。實體類有前三個。
核心就是許可權表,看一下實體
我們看一下頁面傳遞過來的資料
說明:是否生成選單:是指是否是選單,結構是樹形結構,這裡頁面選單都是動態載入的需要從資料庫去查詢。
優先順序:是保證選單的順序,以免造成每次訪問選單順序不一致。
看下sql語句:(select * from auth_function where generatemenu='1' order by zindex asc;) 這樣就很容易理解。
父功能點:需要查詢資料庫載入看下頁面
Shiro入門(六)Shiro授權
本章講解shiro授權的相關知識 1.概念 authorization 授權,也就是授予使用者訪問某些資源的許可權。前提在於需要使用者通過登入驗證才可以進行授權。許可權 permit 表示某些功能,如按鈕的顯示,選單的訪問,資料的crud 角色 role 許可權的集合,比如管理員角色,其擁有訪問系統...
shiro認證授權
1.shiro配置類 1.1需要配置什麼?建立乙個shirofilte ctorybean物件,檢測認證 向bean中傳入securitymanager物件 沒有認證的時候應該訪問哪個url位址 setloginurl 哪些資源是可以被匿名訪問的 setfilterchaindefinitionma...
shiro 授權介紹
授權即訪問控制,它將判斷使用者在應用程式中對資源是否擁有相應的訪問許可權。如,判斷乙個使用者有檢視頁面的許可權,編輯資料的許可權,擁有某一按鈕的許可權,以及是否擁有列印的許可權等等。一 授權的三要素 授權有著三個核心元素 許可權 角色和使用者。許可權 許可權是apache shiro安全機制最核心的...