1
我想知道人們在多用戶應用中爲用戶分配權限和業務邏輯之間的界限。ACL的權限和業務邏輯
例如,如果用戶可以有權訪問多輛汽車,您是否可以直接通過用戶類將這些權限分配給用戶的汽車對象集合,或者將它們分配給ACL並使用ACL檢索用戶有權訪問的汽車列表?
對於何時應該將ACL用於這類事情以及何時應該成爲業務邏輯的一部分,是否有任何指導原則?
我想知道人們在多用戶應用中爲用戶分配權限和業務邏輯之間的界限。ACL的權限和業務邏輯
例如,如果用戶可以有權訪問多輛汽車,您是否可以直接通過用戶類將這些權限分配給用戶的汽車對象集合,或者將它們分配給ACL並使用ACL檢索用戶有權訪問的汽車列表?
對於何時應該將ACL用於這類事情以及何時應該成爲業務邏輯的一部分,是否有任何指導原則?
正常做法是「基於角色的安全性」。
例如,您可能會設置兩個角色「銷售人員」和「維護」。 「
」銷售人員「可以開車,加油並停放一組汽車。
「維修」人員將有權開車,維修和修理整套汽車。
您不會將您的員工分配給其中一個或另一個角色。
是的,但您也可以將銷售人員和維護作爲您的領域模型的一部分作爲員工的子類,並通過與汽車類的關聯分配關係。這比使用基於角色的安全方法好還是差? – eaglestorm 2010-10-11 02:57:00
通常情況下,答案是「是」,因爲您可以將諸如登錄,網絡,文件訪問等等組合到基於操作系統的ACL中。通過這種方式,當新的銷售人員被聘用時,您只需將他們添加到組中,並獲得他們所需的所有訪問權限。 – 2010-10-11 04:31:04