Подтвердить что ты не робот

Rails 3 Аутентификация: Authlogic vs Devise

Я всегда использовал Authlogic в Rails 2.3, но теперь, когда я использую Rails 3, я думаю, что могу попробовать новое решение для проверки подлинности.

Как Devify сравнивается с Authlogic? В чем их отличия?

4b9b3361

Ответ 1

Я использовал их оба, но не широко. В моем последнем проекте я дал Девизу выстрел. Вместо этого я использовал Rails-Warden.

Devise - это полная система проверки подлинности, построенная поверх Warden. Чтобы настроить внешний вид, вы используете генераторы, а затем редактируете полученные просмотры. Его маршруты и логика просмотра жестко закодированы. Например, успешный вход в систему всегда приведет вас к /session/new? Это был разбойник или я, я хотел, чтобы мои пользователи закончили "приветствовать/индексировать". Разработчик не так хорошо документирован или интуитивно понятен как authlogic.

Warden - это среда промежуточного программного обеспечения. Разработчик основан на. В нем есть плагины для многих схем аутентификации в Интернете (fb, openid, oauth), и легко создать плагин для вашей собственной аутентификации. Он не имеет интерфейса, и документы не так хороши, как authlogic.

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

Также см. ниже ответ OmniAuth, что я использую в 2012 году.

Ответ 2

для разработки, если вы хотите отправить успешный логин в "приветствовать/индексировать", вы добавляете в routes.rb

namespace :user do
    root :to => "welcome#index"
end

как описано https://github.com/plataformatec/devise/wiki/How-To:-Redirect-to-a-specific-page-on-successful-sign-in

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

Ответ 3

Я обнаружил, что Devise слишком упрям ​​для меня. Если вы просто хотите принять то, как он делает все из коробки, это хорошо и легко. У меня были некоторые специфические требования и я обнаружил, что пишу вещи, чтобы обойти Devise, поэтому закончил срывать его и вместо этого обновил Authlogic до Rails3.

Ответ 4

Как и исходный вопросник, я тоже всегда использовал AuthLogic в Rails 2.3 дня, но решил использовать Devise, когда AuthLogic не был готов к Rails 3.1 (когда он был на этапе RC). В целом я сделал Devise делать то, что я хочу, но я недоволен и желаю, чтобы я не внес изменений.

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

Да такие функции, как put after_sign_in_path_for/after_sign_up_path_for в приложении Application Controller, но эти функции действительно предназначены не для того, чтобы возвращать путь, а если вы используете Devise, вы обнаружите, что вставляете в них большие блоки кода. Он работает, но у меня есть собственный пользовательский контроллер для обработки связанных с пользователем действий, для меня более элегантный.

Ответ 5

Если вам нужна множественная аутентификация OAuth для Twitter, Facebook, LinkedIn и Google, вы можете использовать драгоценный камень OmniAuth вместе с Authlogic. Легко понять и дает вам полный контроль над тем, что происходит, когда пользователи аутентифицируются с разных социальных сайтов, что вы делаете в authorizations_controller.rb.

Ответ 6

Мне нравится Devise. Вы также можете использовать OmniAuth с Devise. Я думаю, что проект Devise очень активен, и он имеет большую поддержку в Интернете.