4 Shiro框架 許可權管理

2021-08-21 17:30:40 字數 1239 閱讀 8954

當然選擇註解式開發啦,而且還可以用jsp隱藏沒有許可權的標籤,非常方便。

在spring中配置的***裡面新增

port,埠***,可以通過的埠,如果埠不符,自動跳轉到設定的埠

/xx = port[80]

rest,rest風格***,自動根據請求方法構建許可權字串(這個我也沒太懂,要用的話再查查別的……)

ssl,ssl***,只有請求是https才能通過,否則自動跳轉到https埠(443)

實現授權realm

授權realm需要繼承authorizingrealm類,實現其dogetauthorizationinfo方法,注意要繼承的這個類它自己繼承了之前認證的時候需要繼承的那個類,但是沒有實現那個類需要的方法,所以要做授權可以只繼承authorizingrealm類,再同時實現dogetauthorizationinfo(授權方法)和dogetauthenticationinfo(認證方法)方法即可。

授權realm會獲得乙個principalcollection型別的引數,從中可以得到登入使用者的資訊

//獲取到的使用者資訊和多realm認證的順序有關,第一次獲取到的就是認證成功返回的第乙個資訊

object principal = principals.getprimaryprincipal();

//然後利用得到的使用者資訊來給該使用者相應的許可權

//下面這幾句的意思按照我的理解,應該是roles裡面存的值對應的就是各種許可權

//admin1是一定會被新增的,所以所有使用者都有該許可權,但是滿足***條件的時候,會給當前使用者加上admin2的角色

//角色就意味著許可權。

set roles = new hashset<>();

roles.add("admin1");

if(***)

roles.add("admin2");

//最後返回

******authorizationinfo info = new ******authorizationinfo(roles);

return info;

注意:要是寫完realm發現不好用,注意看看配置對不對(我是用的預設策略,就是直接在securitymanager的realms中配置的),還不行可以重啟一下伺服器,重新發布一下什麼的操作搞一搞說不定就好了……

幾個shiro的jstl標籤,還有些這裡就不寫了

許可權註解

如果已經有了事務註解,那麼不能註解在service上,需要註解在controller上

框架學習 shiro許可權管理框架基礎

許可權管理實現使用者對系統資源訪問的控制,主要包括兩個部分,認證和授權。認證部分即登陸,有資格進入系統。授權即進入系統之後,只有你被授權的資源你才有資格訪問。舉個例子,教務管理系統,老師的賬號登陸之後,可以檢視所有同學的成績,並進行修改。但是學生的賬號登陸之後,只能看到自己的成績,並不能進行修改等操...

Shiro許可權管理

shiro許可權管理 一.許可權管理的四張核心的表關係 使用者表使用者 角色 關係表 角色表角色 許可權 關係表 許可權表角色 選單 關係表 選單表二.許可權的控制項 粗粒度配置檔案配置 細粒度通過註解實現 三.了解認證和授權的流程 前端發起登入請求 訪問shiro的subject subject....

Shiro許可權管理

1.sql語句許可權表 create table role id int not null auto increment comment id name varchar 20 not null comment 角色名稱 description varchar 200 comment 描述 prima...