當前位置:首頁 » 操作系統 » 資料庫用戶許可權的設計

資料庫用戶許可權的設計

發布時間: 2022-11-13 20:48:46

㈠ 2、用戶許可權管理,資料庫表設計

網上資料說許可權設計 = 功能許可權 + 數據許可權,我認為還是很有道理的。之前項目中只涉及到功能許可權,沒有數據許可權,原因是最開始設計時,數據已經綁定在特定的用戶下了,而且涉及到的表數量很少,不需要單獨考慮數據許可權的問題。

許可權管理,最細致的許可權管理有 用戶,用戶組,角色,許可權,功能。根據不同的需求適當選擇,如 用戶量過大,每個人都授權和麻煩,就引入用戶組,對用戶組賦予許可權。功能上也根據業務不同做適當的擴展。由於如用戶許可權之前存在多對多關系,需要引入中間表。
本系統設計如下:

數據量很小,功能也不復雜,所以只有用戶,角色,許可權(功能)及產生的中間表。
表中的數據都是提前填的,用戶登陸,查ermroleuser表,獲取角色,查ermrolefunction表,獲取功能,再查ermfunction表,返回該用戶的功能的中文,在頁面上展示。

功能許可權詳細設計請參考,本項目也是受此啟發:
http://blog.csdn.net/painsonline/article/details/7183613/

需求:給一個原來沒有許可權的數據配置系統加上登錄,許可權功能,不同角色查同一張表返回結果不同。
思路:所謂數據許可權,關注點在於實體屬性值、條件、允許值,用戶登錄後,查詢該用戶的查詢條件,根據條件獲取數據即可。詳細表結構設計可以參考: https://zhuanlan.hu.com/p/31339794

具體介紹一下每個欄位含義:
(1)主鍵 id;
(2)acl_id 映射許可權點表主鍵,代表每行記錄是針對哪個許可權點的;
(3)status 代表當前這條配置是否有效,方便臨時激活與禁用;
(4)param 代表需要校驗的參數名,允許一個請求有多個參數參與數據校驗;如果參數復雜,比如包含對象,定義的參數可能為a.b.c 這種多級的形式,建議不要太復雜
(5)operation 代表數據攔截的規則,使用數字代表是等於、大於、小於、大於等於、小於等於、包含、介於之間等,可以根據自己需要增加或減少支持的攔截規則
(6)value1 和 value2 用來和param、operation組成一個關系表達式,比如:1<=a<2
next_param_op 欄位根據需要使用,如果一個許可權點支持多條數據規則時,連接兩個規則之間的操作,|| 還是 &&
(7)seq 欄位用於某個許可權點包含多條數據許可權規則時的順序

假設有這么一條數據,那麼他的含義是:id為1(acl_id)的許可權點,配置了一條有效(status=1)的數據規則,規則是:傳入參數id(param)的值要大於(operation)10(value1)

這種設計很細致了,當然我的項目沒有那麼復雜,所以最終沒有採用這個。
http://www.cnblogs.com/jeffwoot/archive/2008/12/23/1359591.html 講述了數據許可權設計的演化過程。
本系統跟許可權相關的表結構如下:

㈡ 關於資料庫系統設計,如何規定用戶的許可權

還要有一張表存放用戶的功能許可權,比如訪問哪些頁面。
還要有一張表存放用戶的數據許可權,比如能訪問某張表的哪些列,哪些行。
網上的方案用來拋磚引玉的。

㈢ 怎麼設置sql資料庫用戶許可權

-- sqlserver:一、操作步驟
1.
首先進入資料庫級別的【安全性】-【登錄名】-【新建登錄名】
(圖1:新建登錄名)
2.
在【常規】選項卡中,如下圖所示,創建登陸名,並設置默認的資料庫。
(圖2:設置選項)
3.
在【用戶映射】選項卡中,如下圖所示,勾選需要設置的資料庫,並設置【架構】,點擊【確認】按鈕,完成創建用戶的操作
(圖3:選擇對應資料庫)
4.
現在我們就可以對testlog資料庫中的user表進行許可權的設置了,【表】-【
屬性】
(圖4:選擇對應表)
5.
在【許可權】選項卡中,如下圖所示,依此點擊【添加】-【瀏覽】-【選擇對象】
(圖5:設置訪問表的用戶)
6.
在上面點擊【確認】後,我們就可以下面的列表中找到對應的許可權,如果你還想細化到列的許可權的話,右下角還有一個【列許可權】的按鈕可以進行設置,點擊【確認】按鈕就完成了這些許可權的設置了
(圖6:許可權列表)
7.
現在就使用testuser用戶登陸資料庫了,登陸後如下圖所示,現在只能看到一個表了
(圖7:效果)
二、注意事項
1.
在上面的第3步驟中需要注意:如果這里沒有選擇對應的資料庫的話,之後去testlog資料庫中是找不到testuser。
(圖8:找不到testuser用戶)
2.
在上面的第3步驟,設置完testlog數據後,需要點擊【確認】按鈕,完成創建用戶操作,如果這個時候去設置【安全對象】,是無法在【添加】-【特定對象】-【對象類型】-【登陸名】-【瀏覽】中找到剛剛新建的testuser用戶的。
3.
其實在資料庫級別的【安全性】創建的用戶是屬於全局的,當設置了某個資料庫,比如testlog之後,這個用戶就會出現在這個資料庫的【安全性】列表中。
如果刪除testlog這個用戶,會出現下面的提示。刪除了後,這個用戶就無法登陸了。需要去對應的資料庫中刪除用戶,如果沒有刪除又創建,是會報錯的。
(圖9:刪除testuser用戶)
4.
在第6步的【顯式許可權】列表中,如果選擇了【control】這個選項,那麼在【select】中設置查詢【列許可權】就沒有意義了,查詢就不會受限制了。如果設置【列許可權】,在正常情況下會顯示下圖的報錯信息:
(圖10:效果)
5.
在testlog資料庫的【安全性】-【testuser】-【屬性】-【安全對象】-【添加】-【對象類型】這里有更多關於資料庫級別的一些對象類型可以設置。
(圖11:其它對象類型)

㈣ 怎麼設計用戶許可權管理系統資料庫

一般用戶表,角色表,模塊表(或者菜單啊反正是你要許可權的東西),然後角色和模塊的表
這是最簡單的結構,用戶關聯角色,角色關聯模塊,用角色去控制許可權,增刪改查什麼的模塊表呢,就是你要控制的東西,比菜單,根據登錄人的角色,看有哪些模塊,然後顯示這些模塊其他的模塊隱藏。
如果需要復雜的東西,中間可以加別的東西,具體看你需求了。

㈤ 定義SQL Server資料庫用戶的許可權的方法有哪些

1.把你的用戶自定義資料庫放入一個系統提供的資料庫。系統提供的資料庫有:db_owner,db_accessadmin,db_securityadmin,db_ddladmin,db_backupoperator,db_datareader,db_datawriter,db_denydatareader和db_denydatawriter。
2.把你的用戶自定義資料庫添加到將作為開發環境的db_datareader和db_datawriter中。如果你已經有一個可以添加和/或刪除用戶自定義資料庫對象的開發環境,你就只需要取消這個許可權或是把你的用戶自定義資料庫添加到db_ddladmin系統資料庫中。
3.把資料庫用戶作為資料庫成員添加到你的用戶自定義資料庫中。
4.取消所有的公共許可權。
不要向公共用戶發出DENY命令。如果你向公共用戶發出了DENY命令,用戶將不能讀取用戶自定義資料庫的對象。用REVOKE命令代替DENY命令來取消讀取公共資料庫的許可權。這樣設置後,資料庫的用戶就是用戶自定義資料庫的成員了。用戶自定義資料庫具有讀取用戶自定義資料庫對象的許可權。因此這個用戶自定義資料庫允許資料庫用戶讀取用戶自定義資料庫的對象。

㈥ 怎麼設計用戶許可權管理系統資料庫要用到哪幾張表每張表有哪些欄位

1、首先在oracle資料庫創建教學管理系統需,要用到的數據表如下。

㈦ 怎麼設計用戶許可權管理系統資料庫要用到哪幾張表每張表有哪些欄位

什麼樣的許可權?菜單許可權?
一般用戶表,角色表,模塊表(或者菜單啊反正是你要許可權的東西),然後角色和模塊的表
這是最簡單的結構,用戶關聯角色,角色關聯模塊,用角色去控制許可權,增刪改查什麼的模塊表呢,就是你要控制的東西,比菜單,根據登錄人的角色,看有哪些模塊,然後顯示這些模塊其他的模塊隱藏。
如果需要復雜的東西,中間可以加別的東西,具體看你需求了
至於欄位,用戶和角色就沒什麼可說的,無法就是名字啊什麼的
模塊表也簡單,比如模塊名稱,ID,父子模塊id(如果有父子模塊的話),具體欄位還是要看需求。

㈧ 用戶許可權設計

基於角色的訪問控制模型就是把「用戶—角色—操作—資源」關聯到一起,實現非自主型訪問控制策略。使用基於角色的訪問控制模型可以減輕安全管理工作,因為某種任務是穩定的,而負責該項任務的人員是經常變化的,這種方式只需把新的用戶分配給已有的角色即可,無需為用戶重新指定資源和操作,因而簡化了授權管理工作。

為了保障本系統操作使用的信息安全,系統登錄認證體系由三個要素組成:用戶、角色、許可權,三者相輔相成,共同組成系統的安全運行屏障。

1.用戶信息

用戶信息表統一管理,在用戶信息表中存儲用戶名稱、登錄名、口令、各子系統許可權、用戶角色信息等。

用戶信息表的添加、刪除以及子系統許可權修改由總系統授權的管理員執行,本系統中,用戶信息表的操作在業務處理與信息服務子系統的系統管理菜單下的用戶信息管理頁面。用戶口令可以自行改變,用戶許可權的變更需要提請管理員同意,並由管理員修改。

子系統啟動時讀取用戶信息表驗證用戶許可權,在系統運行時依據許可權分配相應的功能。依據用戶在子系統中的許可權級別控制用戶可操作的功能,實現最終用戶對ORACLE資料庫中數據的讀取和添加操作許可權控制(表8-2)。

表8-2 用戶信息結構表

2.角色信息

角色可以根據需要任意多地添加,多個角色許可權組合生成多個許可權控制,對應到一個確定的用戶,賦予用戶對功能模塊的控制許可權。用戶角色表包括角色名稱、用戶唯一值編碼等信息。示例見表8-3。

表8-3 用戶角色表(示例)

在資料庫中為各個功能模塊建立了功能名稱表,每個功能模塊均有記錄,有功能編碼和功能名稱及其他附屬信息。功能名稱示例見表8-4。

表8-4 功能名稱表(示例)

每個用戶必須屬於至少一個角色,每個角色具備多個功能的控制許可權,功能許可權通過角色傳遞給用戶,從而實現用戶對功能的操作許可權控制。

3.許可權信息

許可權表明了用戶可執行的操作。系統許可權控制採用最大優先,用戶可以擁有多個角色,每個角色對每一頁面都可擁有許可權,但在許可權結果判斷時只以最大許可權為主,即管理員級許可權大於並包含訪問者許可權。功能許可權示例如表8-5所示。

表8-5 功能許可權表(示例)

系統規劃的子系統許可權等級見表8-6。

表8-6 子系統許可權等級規劃表(部分)

續表

4.用戶認證授權

通過以上四個表將用戶、角色與許可權組合起來,可以形成無窮多的用戶許可權組合,直接控制用戶許可權到每個細分功能。

用戶、角色、許可權、功能控制流程如圖8-1所示:

圖8-1 用戶許可權控制流程圖

功能許可權表僅在部署角色許可權時使用,標示功能具備的可部署許可權。

在角色中必須保證有一個管理角色擁有用戶管理功能的管理許可權,防止不能分配角色與許可權,同樣在用戶中必須保證至少有一個用戶是管理角色。

㈨ 如何用phpmyadmin設置mysql資料庫用戶的許可權

phpmyadmin設置mysql資料庫用戶許可權可以參考如下操作步驟。

1、用瀏覽器打開phpmyadmin,輸入用戶名和密碼登錄。

熱點內容
ionic編譯android 發布:2024-05-04 15:20:45 瀏覽:487
雲伺服器在哪買 發布:2024-05-04 15:19:18 瀏覽:84
華為如何用電腦解鎖手機密碼 發布:2024-05-04 14:54:38 瀏覽:574
斐波那契數列的遞歸演算法 發布:2024-05-04 14:34:55 瀏覽:969
數字支付密碼哪裡找 發布:2024-05-04 14:26:50 瀏覽:86
天翼雲免費存儲 發布:2024-05-04 14:22:55 瀏覽:782
微信56g緩存怎麼解決 發布:2024-05-04 14:09:41 瀏覽:707
sqlupdatewhereand 發布:2024-05-04 13:55:47 瀏覽:586
java視頻教程推薦 發布:2024-05-04 13:55:08 瀏覽:86
安卓官服閃耀暖暖怎麼換 發布:2024-05-04 13:46:37 瀏覽:171