2014-01-17 98 views
1

我正在用我的CakePHP應用程序實現ACL組件。我已經正確設置了有關用戶和組的所有設置,但該應用將具有多個訪問區域,其中權限不僅基於用戶設置,還基於其他ARO設置。例如,票證(ARO)想要根據其所屬的票證組訪問支持團隊(ACO)。CakePHP ACL - 多組模型

我想有兩個獨立的用戶/組模型作爲被綁定到對方前ACL請求者

- Users 
    - User 
    - Group 

- Tickets 
    - Ticket 
    - Ticketgroup 

什麼我不確定的是,如果有可能使用ACL組件此在同一個ACL中有兩個單獨的用戶/組模型綁定到另一個?

回答

0

不知道如果我理解這個問題完美,但如果你有兩個獨立的根節點兩個獨立的樹在您的ARO表它應該工作:

AllGroups 
    - Group1 
    - User1 
    - User2 
AllTickets 
    -TicketGroup1 
    - Ticket1 
    - Ticket2 

使用AclBehavior::parentNode()方法綁起來Group模型到User型號以及TicketGroup型號到Ticket型號。

然後你就可以在ACO之間使用AclComponent的方法(allow()check()等)類型:controller/:action反對Group/User類型的ARO以及說TicketGroup/Ticket類型的其他ARO。 這將有助於區分ARO決議並避免兩類組之間的衝突。