Каков наилучший способ внедрения списков управления доступом в приложение Rails?
-
02-07-2019 - |
Вопрос
Я просто хотел сравнить различные решения, используемые при реализации списков управления доступом в Rails.
Решение
Я использую плагин авторизации (созданный Билл Кац):
Роли могут быть авторизованы для всего приложения, класса модели или конкретного объекта.Плагин предоставляет способ проверки авторизации на уровне метода класса или экземпляра с помощью permit и разрешить?методы.Он также предоставляет англоязычные динамические методы, такие как "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/
Другие советы
Лучшее, что я нашел, это ролевые требования.Он подключается непосредственно к плагину restful_authentication.
Существует плагин под названием acl_system2, который работает за счет наличия таблицы users и таблицы roles.В этом разделе есть еще много полезной информации. ПРОЧИТАЙ МЕНЯ и проект тоже есть на github.