Плагины авторизации Rails

Мы оцениваем плагины для авторизации в Rails. Два в верхней части нашего списка - это cancan и declarative_authorization.

Я хотел бы получить отзывы от всех, кто в настоящее время использует любой из этих плагинов.

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

Я только начинаю смотреть на код. Кажется, канкан немного проще настроить.

Есть предположения?


person jacklin    schedule 02.05.2010    source источник


Ответы (3)


Cancan - это более легкий плагин для небольших сайтов. Вы можете посмотреть видео о железнодорожных передачах.
http://railscasts.com/episodes/192-authorization-with-cancan

Я использовал declarative_authorization с authlogic / restful_auth для нескольких проектов. В нем есть все, что вам может понадобиться. 1) Модель безопасности. 2) Безопасность контроллера 3) Доступные в представлении методы проверки авторизации.

Единственная неприятная вещь, с которой я столкнулся с declarative_authorization, - это то, что я не читаю rdocs.

http://railscasts.com/episodes/188-declarative-authorization

person jspooner    schedule 02.06.2010

Орган власти

Я предлагаю вам также проверить мою новую жемчужину, Authority. Поскольку вы выполняете фактическую логику в простых классах и методах Ruby, вы можете проверить любой источник данных, который вам нужен: различные базы данных, статические файлы, фазы луны через веб-запрос, вы называете это. :)

person Nathan Long    schedule 20.04.2012

В итоге я использовал declarative_authorization. Теперь кажется, что auth_logic - это то место, куда движется сообщество.

declarative_auth было бы действительно просто, если бы не модель наших приложений с мультитеннантной базой данных. Мне пришлось немного изменить исходный код, чтобы все заработало, но это было не так уж сложно, и я был довольно зеленым, когда начал этот проект.

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

Это написано Райаном Бейтсом, что круто. Люблю рельсы забрасывать! :)

Я знаю, что этот пост старый, но решил, что обновлю его, потому что никогда не знаешь.

person jacklin    schedule 24.12.2010
comment
auth_logic и declarative_authorization очень разные. auth_logic просто позволяет аутентифицировать пользователя, а не declarative_authorization, который дает точный контроль над тем, к чему ваши пользователи имеют доступ в вашем приложении. - person lillq; 19.04.2011
comment
Я опубликовал это некоторое время назад, но на всякий случай, если он появится в будущих поисках, я решил обновить его. В моем последнем проекте я использую Devise для аутентификации и канкан Райана Бейтса для авторизации. Оба очень хороши! Я использую рельсы 3, и у меня не было проблем. В этом проекте нет модели с несколькими базами данных для каждого клиента, поэтому мне вообще не пришлось изменять исходный код для плагина! - person jacklin; 01.08.2011