在嘗試爲Web應用程序實現基於角色的安全性時,我在權限,角色,用戶和UserRole(即將用戶分配給角色)的數據庫中有一個表。使用標誌枚舉進行權限的缺點是什麼?
每個角色都有一組權限。權限被定義爲一個C#標記枚舉值,如0,1,2,4等。
在數據庫中,角色表具有一個int字段,該字段存儲角色的組合權限標誌。 (通過這種方式,我們避免了單獨的權限表(是好還是壞?)和一個用於RolePermissions的一對多表。
在代碼中,我通過計算有效權限來檢查用戶是否有權訪問角色(一個或多個)用戶被分配到在.NET中這是很容易做到這一點做的枚舉標誌邏輯運算
所以我的問題是:。
有一個缺點做這種方式(與擁有Permission表和RolePermission鏈接表(其中包含給予角色的每個許可的1個記錄)相反)?
感謝。用法不太奇特。它是一個多租戶的Web應用程序,每個租戶都希望定義他們自己的角色名稱並將他們的用戶分配給他們的自定義角色。他們當然需要爲每個自定義角色分配一組標準權限。 – Krishna