Какая система аутентификации Rails лучше: AuthLogic, Clearance или Devise? - PullRequest
5 голосов
/ 26 апреля 2011

Я бы хотел внедрить стороннюю систему аутентификации Ruby on Rails, которая активно развивается и имеет разумные значения по умолчанию.

Я сузил свой выбор до AuthLogic and Clearance (мыслительный бот) - может кто-нибудь склонить меня в любом направлении? С точки зрения требований, оба будут работать для моего проекта из того, что я могу сказать. Похоже, что примеры документации / кода в обоих довольно похожи, и оба относительно просты в настройке.

У кого-нибудь есть предпочтения? Мне действительно нравится плагин AuthLogic OpenID - не знаю, сможет ли это сделать Clearance.

Ответы [ 4 ]

7 голосов
/ 26 апреля 2011

Разработайте наверняка:)

https://github.com/plataformatec/devise

3 голосов
/ 26 апреля 2011

Я использовал restful_authentication gem, authLogic и Devise , и мне нравится devise, потому что он основан на модели (чем выше стек, тем лучше и легчеrspec), а также позволяет вам просто установить флаг администратора в пользовательской таблице для администраторов и пойти с этим (или использовать роли для более сложных вещей).

Еще один драгоценный камень, который стал обычным с devise is cancan для ролей , например, администратор, читатель, менеджер и т. д. (все, что вы хотите) с синтаксисом, как показано ниже (из cancan gem ).

<% if can? :update, @article %>
  <%= link_to "Edit", edit_article_path(@article) %>
<% end %>
2 голосов
/ 15 ноября 2012

Вопросы об авторизации часто плохо сформулированы, потому что мы все заинтересованы в различных аспектах.

В моем случае у нас есть хорошо разработанное приложение (Wagn, см. http://wagn.org),, и у него есть домашняя страница).Расширенные встроенные функции аутентификации. Мы делаем приложение независимым от системы аутентификации, поэтому меня больше всего интересуют два аспекта:

1) Что такое API для интерфейса провайдера и насколько простодобавить его в мое приложение.

Я только что проделал большую работу, чтобы направить все это через набор методов класса или модуля, которые использует приложение, и модель для домашнего AR-класса (класс пользователя и таблица пользователей), что.Это приводит к следующей части:

2) Какие поставщики авторизации доступны и что мне нужно сделать, чтобы загрузить их с моим приложением (обычно я ожидаю, что они будут в одном или нескольких промежуточных программах Rack).

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

Я подозреваю, что такая ситуация типична для определенного класса разработчиков.

2 голосов
/ 26 апреля 2011

Вы уже по какой-то причине исключили Devise?

Если нет, это самая актуальная и полная среда аутентификации для Rails.Что касается аутентификации openID, взгляните на OmniAuth , который легко интегрируется с devise.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...