Я работаю над социальным веб-приложением, и я действительно колеблюсь между использованием списков ACL или использованием моей собственной системы разрешений. Я работаю в течение нескольких дней с ACL, чтобы увидеть их поведение и савойи, что я мог и не мог сделать.CakePHP, ACL или нет?
В моем приложении участники могут устанавливать разрешения на то, что у них есть (профиль, фотоальбом и т. Д.). Мне также необходимо установить разрешения для модераторов, которые могут проверять содержимое профиля и фотоальбомы, но не имеют права на модификаторы или удаляются, однако администратор имеет права.
Для профиля, пользователь может решить, что делать, сделать общедоступным, только для пользователей или друзей. Для этого я мог бы создать отличную таблицу ProfileSettings с разными полями, чтобы увидеть, какая информация видна, и получить доступ к профилю. Проблема в том, что я хочу реализовать выбор в соответствии со списком друзей на Facebook. Я представил сценарий с ACL, но я боюсь, что запрошенные ресурсы огромны. Создать профиль для каждого aco не так уж плохо, особенно если запрашиваемая база данных включает 300 членов, не говоря уже о необходимости сохранения всех разрешений по мере необходимости и выбора пользователя. Поэтому я думаю, что не разрешать членам определять, какие пользователи могут получить доступ к своим объектам, а только к группам.
По-прежнему остается вопрос об ACL. В моем случае это хорошая идея? Я также должен устанавливать разрешения на форумах, например, модератор может обновлять поток/сообщение, форум может быть виден только администратором/модератором и т. Д.
Где я боюсь использовать ACL, это то, что малейшая ошибка может наносят серьезный ущерб, но в то же время он позволяет мне быстрее устанавливать разрешения.
Спасибо за вашу помощь и ваши советы :)
Я изучал ACLs CakePHP в течение нескольких дней, и я вполне понимаю операцию. В случае проблем я мог бы это исправить, но у меня будет болезненная операция, которая сломает все. Я также предпочитаю создавать свою собственную систему, но это заставит меня изобретать колесо, поэтому я все еще удивляюсь. – shingosan