我有我認爲可能是一個相對複雜的訪問控制情況(沒有太多的經驗,我可能是完全錯誤的)。這個系統是一個私人/內部桌面唯一的應用程序,如果這有什麼區別。複雜(?)訪問控制
我在軌道上證書工作人事系統(使用大膽爲表)。只有某些用戶可以訪問此係統,使其有所控制,但需要進一步控制。例如;並非所有的用戶應該能夠訪問證書爲人員這是管理,這應該只限於人力資源。此外,某些用戶可以訪問任何人員但只有某些證書。
目前的想法是將字段添加到證書 & 人員即與許可/訪問級別的int。類似於this設置。然後用戶表也將具有「AccessLevel」字段,以便可以進行比較。
無法確定訪問級別的數量,目前正在考慮以下內容;
[Flags]
public enum AccessLevel
{
None,
ReadOnly,
Normal, // Can view all Certificates and Personnel that aren't set to Management
Management, // For "sensitive" Personnel and/or Certificates
HR, // Full access
Admin // Permission control/editing
}
具有不進行訪問控制,以這種複雜的前雖然,我不能肯定,如果我在正確的方向還是不也得走?
等級等級可以發揮作用,例如,如果你有一個員工樹,你希望管理者能夠看到他們的直接報告的證書嗎? – HABO
這在技術上是正確的。儘管如此,它並不真正歸結爲這種層次。 HR主要負責管理每個人的證書。也就是說,人事物流是需要訪問某些證書的人員,因爲他們是與客戶聯繫的人員(但他們不需要訪問權限,簡歷 - 人力資源部門希望使用該系統進行跟蹤),也就是說人符合要求,證明這些證書。 – Trent
對於簡單的系統,我通常使用'Privileges'('PrivilegeId','Name','ShortName'用於應用程序代碼,'Description')和一個'UserPrivileges'表來授予訪問權限和表格控制誰可以授予/撤銷權限,例如'UserAdministersPrivilege'。這避免了位掩蓋,以及位掩碼提供的位可能耗盡的可能性。我已經完成了許多層次深入隱含層次的系統(默認情況下,用戶總是可以查看其分支/部門/公司的文檔),並可以顯式訪問各個層次的權限。 – HABO