Предложения по созданию сайта с несколькими блогами в CakePHP с ACL «Членство» - PullRequest
0 голосов
/ 27 мая 2011

Я погрузился в CakePHP в этом году, и мне это нравится!Тем не менее, я только что столкнулся с проблемой, которую я не знаю, как решить.Моя база данных такова -

ПОЛЬЗОВАТЕЛЬ может принадлежать одному или нескольким ВЕБ-САЙТУ A ВЕБ-САЙТ может иметь много ПОЛЬЗОВАТЕЛЬ

Итак, у меня есть отношение многие ко многим, которое отслеживается в ЧЛЕНСТВО

ЧЛЕНСТВО также отслеживает, что group_id ПОЛЬЗОВАТЕЛЬ имеет для этого ВЕБ-САЙТ .

Например, если user1 присоединяется к website3 в качестве администратора и website5 в качестве редактора, то в таблице MEMBERSHIP есть запись, отражающая обе эти роли.

В основном моя проблема заключается в том, чтоТорт ACL.В вышеупомянутой модели user_id group_id будет меняться в зависимости от того, какой ВЕБ-САЙТ он выбрал после входа в систему (и впоследствии он может перейти на еще большее количество веб-сайтов на панели инструментов, изменяя group_id снова и снова).ACL Cake, кажется, обрабатывает только период «пользователь принадлежит одной группе».

Могу ли я обмануть ACL, передавая ему group_id из сеанса каждый раз, когда он изменяется, и затем перезагружать ARO?Будет ли больше смысла отказаться от ACL и создать свой собственный модуль разрешений?

Буду очень признателен за любые предложения или идеи, указывающие мне правильное направление!

1 Ответ

0 голосов
/ 01 июня 2011

Я думаю, что это будет лучший способ создать свой собственный модуль разрешений.

Причины довольно просты:

  1. Вы можете изменить / расширить его любым способом, который ВЫ ХОТИТЕ
  2. вы не нарушите никаких спецификаций cakePHP
...