許可權系統的實體設計

2021-08-31 17:27:39 字數 683 閱讀 2638

此許可權系統設計的目標是既可以直接對角色進行授權,又可以直接對使用者授權。

實體類modue,用來封裝模組資訊,自關聯,樹形結構。

實體類role,用來封裝角色資訊。

實體類user,用來封裝使用者資訊。

實體類usersroles,包含user,role兩個成員變數以及乙個整型的成員變數,整型變數用來標識角色的優先順序,

role和usersroles之間一對多,user和usersroles之間一對多,目標是實現乙個使用者可以有多個角色,並且多個角色

是按優先順序排序的,而且乙個角色可以被授予多個使用者。如果發生乙個角色對a資源只有讀許可權,而另外乙個角色對a資源對a資源只有刪除許可權,為了避免此衝突,使用優先順序高角色的許可權。

實體acl用來封裝訪問控制列表資訊,其包含主體型別(使用者或角色),主體標識,模組標識,授權狀態以及授權狀態掩碼,

授權狀態屬性,乙個int有32位,用最後4位來標識crud操作,位的取值1或0標識允許或不允許,這樣設計,擴充套件性很好,

這樣就可以實現對資源的操作有32種,幾乎滿足了絕大多數企業應用,

授權狀態掩碼屬性,用乙個int標識繼承狀態,0代表繼承,1代表不繼承,因為此系統的設計是既可以對使用者進行授權,

又可以對角色進行授權,所有就會出現角色的許可權和單獨為使用者授予的許可權出現衝突,如果繼承狀態為0,則使用角色的許可權,

繼承狀態為1,則使用使用者單獨的許可權。

許可權系統的實體設計

此許可權系統設計的目標是既可以直接對角色進行授權,又可以直接對使用者授權。實體類modue,用來封裝模組資訊,自關聯,樹形結構。實體類role,用來封裝角色資訊。實體類user,用來封裝使用者資訊。實體類usersroles,包含user,role兩個成員變數以及乙個整型的成員變數,整型變數用來標識...

實體系統ECS CES的設計

entity component system entity 我們的object會繼承這個entity,components會嵌入entity中,entity不包含資料,因此當繼承的時候不會增加object 的大小。component 元件中只應該包含資料,不包含邏輯。元件可以通過控制代碼引用。元件...

許可權系統設計

許可權系統 2 operation 許可權控制可以看作乙個filter模式的應用,這也符合aop思想的應用條件。在乙個簡化的圖象中,我們只需要將乙個判別函式 isallowed subject,operation,resource 插入到所有安全敏感的函式呼叫之前就可以了。雖然概念上很完美,具體實現...