Использование ACL или простых разрешений для приложения CakePHP - PullRequest
1 голос
/ 17 декабря 2011

Я создаю простой веб-сайт, которому нужно 3 уровня пользователя (member, mod, admin), и в настоящее время я использую ACL, который устанавливает права для каждой группы. Теперь все работает нормально, но мне интересно, не лучше ли просто иметь столбец role в таблице users , который будет содержать tinyint и идти с этим .

Почему я рассматриваю это следующим образом. Скажем, я хотел бы иметь «админ-бар» в верхней части страницы, мне нужно проверить, в какой группе находится пользователь, но имена групп могут меняться и не являются статичными, столбец role будет быть. Возникает вопрос: подходит ли ACL для веб-сайтов с такой простой схемой разрешений?

Ответы [ 2 ]

1 голос
/ 19 декабря 2011

Забавно - я только недавно написал простой Auth для подобных сценариев - я назвал его «Tiny»: http://www.dereuromark.de/2011/12/18/tinyauth-the-fastest-and-easiest-authorization-for-cake2/

Это должно быть примерно столько, сколько вам нужно.

Необходимо, чтобы роли присутствовали в аутентификации сеанса, хотя вы сами управляете ролями пользователей. Поэтому вам, возможно, придется добавить это в свой метод входа в систему, если вы хотите использовать многопользовательскую аутентификацию.

Как вы сказали, основной способ - это мощный и реальный перебор для простых случаев использования. Только одно: назовите поле «role_id», а не «роль».

1 голос
/ 17 декабря 2011

Это то, что я использую http://bakery.cakephp.org/articles/watermark86/2010/09/23/user-permissions-based-on-a-routing-prefix

Хотя acl - правильный путь, но для маленьких / простых случаев, таких как urs, вы можете использовать это

...