Я погрузился в CakePHP в этом году, и мне это нравится!Тем не менее, я только что столкнулся с проблемой, которую я не знаю, как решить.Моя база данных такова -
ПОЛЬЗОВАТЕЛЬ может принадлежать одному или нескольким ВЕБ-САЙТУ A ВЕБ-САЙТ может иметь много ПОЛЬЗОВАТЕЛЬ
Итак, у меня есть отношение многие ко многим, которое отслеживается в ЧЛЕНСТВО
ЧЛЕНСТВО также отслеживает, что group_id ПОЛЬЗОВАТЕЛЬ имеет для этого ВЕБ-САЙТ .
Например, если user1 присоединяется к website3 в качестве администратора и website5 в качестве редактора, то в таблице MEMBERSHIP есть запись, отражающая обе эти роли.
В основном моя проблема заключается в том, чтоТорт ACL.В вышеупомянутой модели user_id group_id будет меняться в зависимости от того, какой ВЕБ-САЙТ он выбрал после входа в систему (и впоследствии он может перейти на еще большее количество веб-сайтов на панели инструментов, изменяя group_id снова и снова).ACL Cake, кажется, обрабатывает только период «пользователь принадлежит одной группе».
Могу ли я обмануть ACL, передавая ему group_id из сеанса каждый раз, когда он изменяется, и затем перезагружать ARO?Будет ли больше смысла отказаться от ACL и создать свой собственный модуль разрешений?
Буду очень признателен за любые предложения или идеи, указывающие мне правильное направление!