許可權控制的乙個思路

2022-08-30 19:12:09 字數 1085 閱讀 2103

資料庫表結構

create

table

`newtable` (

`id`

int(11) not

null

auto_increment,

`title`

varchar(255) not

null

, `menu_id`

int(11) not

null

, `module`

varchar(50) not

null

, `class`

varchar(50) not

null

, `method`

varchar(50) not

null

primary

key(`id`)

);

假定我們使用了mvc的結構,並通過url訪問對應的模組及類和函式。

表中第一行表示乙個操作,title表示操作名,menu_id表示屬於哪乙個選單選項,module表示模組名(沒有可以略過),class表示類名,method表示函式名

此外我們還需要乙個使用者組的表,大致如下:

其中access_list中儲存的當前使用者組所擁有的許可權id(對應上個許可權表中的id)

當然我們還需要乙個使用者表來對應使用者組表

group_id表示的第使用者所對應的使用者組

當我們訪問乙個url的時候,比如:

通過路由分析,我們得到相應的資料:

模組->testmodule

類->testclass

函式->testaction

通過三個引數,我們查詢許可權表中的資料,得到乙個唯一的id值。

然後對比使用者組中access_list中的資料,如果資料中包括有這個id,那麼當前使用者擁有當前操作的許可權,反之沒有許可權。

那麼我們如何來控制選單選項,當使用者有許可權時才顯示呢?

因為在許可權表中的每個操作都對應有乙個menu_id,即選單選項。我們通過查詢當前使用者所屬於的使用者組資訊,得到他所擁有的許可權操作id,再通過id取得他所屬於的選單選項,這樣就得到了當前使用者所擁有的選單許可權。

使用Linux思路搞定IIS的乙個許可權問題

公司有個站點由於以前一直沒有用到上傳功能,這次發布需要用到床傳功能,但是卻雙傳不了,按照以前的經驗將 internet 來賓帳號 iuser web2 和everyone 都新增了許可權依然不能上傳,後來通過 linux 下面 的許可權思路,解決了問題。由於後端有兩台 windows 伺服器,檔案上...

乙個保密思路

如果你機子被入侵,那麼你最擔心的是什麼?那麼怎麼保護自己呢?這個時候乞求防毒軟體 防火牆,恐怕早沒什麼效果。基於上面的擔心考慮,我想出乙個不是萬能的辦法 1 寫乙個程式,感染本機內除系統目錄外的全部檔案,或者感染你指定的機密檔案。2 程式會自動的在所有源 檔案中插入特定 函式。3 本級每次啟動建立多...

關於乙個飛行控制系統的設計思路

我需要設計乙個飛行降落控制系統,正在構思中。飛行降落控制系統 飛行降落控制系統有乙個環形等待航線,飛機進入環形等待航線後,才能被引導進入最終降落航線。飛機可以從環形等待航線進入最終降落航線 也可以從最終進入航線回到環形等待航線 緊急情況下,其他飛機可以提前進入最終降落航線 如果降落失敗,再次回到最終...