Я унаследовал приложение, которое интенсивно использует ACL Cake — компонент, который я никогда не использовал — и настроено таким образом, что 3 группы ARO имеют доступ ко всему контроллеру. ACO существуют для каждого действия в контроллере, но никакие разрешения не назначаются явно на уровне действия.
Теперь я столкнулся с ситуацией, когда мне нужно, чтобы одна группа имела доступ к одному конкретному методу, но мне нужно запретить его для двух других групп. Есть ли способ вместо того, чтобы явно назначать разрешения для каждой группы для каждого действия, просто указать, что две группы не имеют разрешения на одно рассматриваемое действие?
По сути, я хочу сохранить текущий «доступ ко всему» по умолчанию, но переопределить его с помощью «запретить для [этого конкретного действия]». Я пробовал cake bake acl deny GroupName ControllerName actionName
, но, похоже, это не имеет никакого значения.
В качестве довольно распространенной аналогии я хотел бы, чтобы это вело себя как Apache AllowOverride
. По умолчанию разрешить все для всех, но запретить данное действие определенной группе. Я не уверен, что это полезно, но это так.
Спасибо.