簡單系統許可權

2022-03-14 07:11:24 字數 919 閱讀 9205

對於不是很複雜,拓展性不是很強的系統。做許可權控制的思路是:讓使用者屬於不同的使用者組(角色),然後根據角色來制定那些選單可見或者不可見。

當使用者登入後,載入主頁面的時候,根據使用者的角色來判斷選單和許可權的關係。

所以需要定義乙個角色表role,選單表menu和乙個角色和選單許可權的關係表role_relation。

role_relation這個表記錄角色的id和選單的id:

當登陸後,就確定了使用者的角色,用角色id進行檢索:

1

select

2 r.pkid as

pkid,

3 r.roleid ,m.pkid as

menuid ,

4 m.name as

menuname

5from menu m left

join role_relation r on m.pkid =

r.menuid

6and r.roleid=

@roleid

查詢出來的結果:

1 1 1 首頁

2 1 2 房產檔案

3 1 3 房產合同

4 1 4 房產檢查

5 1 5 收房租

6 1 6 交房費

7 1 7 房產費用

8 1 8 房產查詢

null null 9 使用者維護

null null 10 檢視報表

null null 11 房產統計報表

null null 12 收入支出報表

可以看出 null 就是沒有許可權的選單,

在載入的時候只需要載入不為null的選單, 而在分配許可權的時候,需要得到有許可權和沒許可權的所有選單(以及後追加的新選單)

之後進行檢視,修改等操作。

這是最簡單的設計思路之一。

2020 11 19 工單系統

1.原創專案文件 原創作者django後端 專案文件 api docs ticket 作者的部落格 27 a workflow engine base on django 基於django的工作流引擎系統,通過http介面呼叫。可以作為企業內部統一的工作流引擎,提供諸如許可權申請 資源申請 發布申請...

訂單系統專案模擬

訂單管理系統 ssh整合 分頁 ajax 模組 1.客戶模組 單錶 1.檢視客戶列表 2.新增客戶 3.修改客戶 4.修改客戶 2.訂單模組 兩表 1.檢視某個客戶的訂單列表 分頁 2.新增訂單 3.刪除訂單 專案開發流程 1.設計資料庫 t customer 客戶表 customer id 主鍵 ...

Linux單系統安裝教程

linux單系統安裝教程 前提 1 linux系統 centos 7 x86 64 1708.iso 2 一台電腦,64位 3 使用rufus製作啟動盤,這裡要澄清一下 因為ultraiso工具不支援centos7.x版本以上的裝機,所以使用rufus 使用rufus,然後進行傻瓜式安裝即可。注意事...