Я просто хотел сравнить различные решения, используемые при реализации ACL в Rails.
Я использую плагин авторизации (Создано Билл Кац ):
Роли могут быть авторизованы для всего приложения, класса модели или конкретного объекта. Плагин предоставляет способ проверки авторизации на уровне метода класса или экземпляра, используя разрешение и разрешение? методы. Он также предоставляет английские динамические методы, такие как «user.is_manager_of project» (где «пользователь» действует как авторизованный, «менеджер» - это роль, а «проект» - это авторизуемая модель). Вы можете указать, как перенаправляется элемент управления, если в авторизации отказано. ( источник цитаты )
Домашняя страница: http://www.writertopia.com/developers/authorization
Документы: http://github.com/DocSavage/rails-authorization-plugin/tree/master/authorization/README.rdoc
Вам также может быть интересно прочитать это сравнение (с прошлого года, но все же несколько полезное; именно здесь я и получил приведенную выше цитату): http://www.vaporbase.com/postings/Authorization_in_Rails
И более недавнее сравнение: http://steffenbartsch.com/blog/2008/08/rails-authorization-plugins/
Лучшее, что я нашел, это role_requirement . Он подключается прямо к плагину restful_authentication.
Существует плагин acl_system2, который работает с таблицей пользователей и таблицей ролей. В README есть намного больше полезной информации, и проект тоже на github.