Лучшее решение для аутентификации в Ruby on Rails [закрыто]

StackOverflow https://stackoverflow.com/questions/24298

Вопрос

Я ищу готовое решение, которое я мог бы использовать в своем приложении RoR.В идеале я ищу что-то похожее на аутентификацию ASP.NET Forms, которая обеспечивает проверку электронной почты, элементы управления регистрацией и позволяет пользователям сбрасывать свои пароли.О да, и легко позволяет мне вытащить пользователя, который в данный момент вошел в приложение.

Я начал изучать уже написанные фрагменты, но обнаружил, что это действительно сбивает с толку.Я просмотрел LoginGenerator, RestfulAuthentication , SaltedLoginGenerator, но, похоже, нет ни одного места, где были бы отличные руководства или предоставлялось бы их сравнение.Если есть сайт, который я просто еще не обнаружил, или если существует стандарт де-факто, которым пользуется большинство людей, я был бы признателен за помощь.

Это было полезно?

Решение

AuthLogic, похоже, новичок в блоке и, похоже, является следующей эволюцией restful_authentication, более простой в использовании и т. Д

http://github.com/binarylogic/authlogic/tree/master

Редактировать:теперь, когда Rails 3 вышел, Devise, похоже, новенький в этом квартале

https://github.com/plataformatec/devise или я теперь запускаю свою собственную аутентификацию с помощью has_secure_password встроенный в рельсы http://railscasts.com/episodes/250-authentication-from-scratch-revised

Боковое примечание:Ruby Toolbox - отличный сайт для поиска наилучшего на данный момент решения в различных категориях (в зависимости от количества просмотров GitHub).:

http://ruby-toolbox.com/categories/rails_authentication.html

Другие советы

Я бы действительно рекомендовал Повторная аутентификация.Я думаю, что это в значительной степени стандарт де-факто.

Для действительно простого решения используйте Полная распродажа.

Если вы ищете дополнительные варианты Придумать это отличное решение.Он использует Warden, который представляет собой систему аутентификации на основе стойки.

Есть также RestfulOpenIDAuthentication ( Проверка подлинности restfulopenid ) если вам нужна поддержка OpenID в дополнение к поддержке паролей.

Просто обратите внимание, LoginGenerator и SaltedLoginGenerator были заменены Restful Authentication и не поддерживаются в более новых версиях Rails - не тратьте на них время, хотя в то время они были великолепны.

Я также хотел бы отметить отличную учебное пособие /обсуждение о расширении основной функциональности Restful Authentication, на случай, если вы ищете что-то более надежное.

Мне действительно нравится разрешение thoughtbot.Очень простой, имеет несколько хороших зацепок и поддается тестированию.

Аутентичный кажется, это то, что вы хотите для этого.Он очень настраиваемый, и хотя он не генерирует код за вас, он довольно прост в использовании.Для проверки электронной почты и восстановления пароля вы, вероятно, захотите использовать :perishable_token колонна.AuthLogic позаботится об этом, вам нужно только сбросить его, когда он используется.Для получения информации о том, как настроить базовое приложение, вы можете ознакомиться с работой Райана Бейтса Railscast на AuthLogic, и "официальный" пример приложения.Бен Джонсон, создатель AuthLogic, также написал сообщение в блоге о том, как восстановить пароли.

К сожалению, я не могу опубликовать более одной ссылки, но ссылки на railscast, сообщение в блоге о сбросе пароля и пример приложения находятся в README (см. репозиторий AuthLogic для README)

Обновить:Теперь я могу размещать больше ссылок, поэтому я связал еще несколько.Спасибо вам, marinatime, за то, что тем временем добавили ссылку

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

  1. Не думайте в терминах "контроля".В Rails модель, представление и контроллер намного более независимы, чем в "Webforms-стиле" ASP.NET.Определите, чего вы хотите от каждого слоя независимо, напишите соответствующие тесты / спецификации и убедитесь, что каждый слой выполняет то, что вы ожидаете.
  2. Даже если вы используете плагин, ничто не заменит чтение (по крайней мере, некоторой части) сгенерированного кода.Если у вас есть общее представление о том, что происходит под капотом, вы обнаружите, что отладка и настройка намного проще.

Плагин restful_authentication и другие плагины, которые его расширяют, идеально отвечают вашим потребностям.Быстрый поиск по github.com откроет множество руководств, примеров и дополнений.Просто иди сюда:
- http://github.com/search ?q=restful_authentication (повторная проверка подлинности)

Есть несколько проектов, которые используют restful_authentication только для того, чтобы предоставить примеры простого приложения Rails, содержащего только части аутентификации.

  1. http://github.com/fudgestudios/bort -- Базовое приложение rails с:Повторная аутентификация
  2. http://github.com/mrflip/restful_authentication_example -- Еще один проект с отличным примером того, как использовать restful_authentication
  3. http://github.com/activefx/restful_authentication_tutorial -- То же, что и выше, с некоторыми другими плагинами в комплекте.
  4. http://railscasts.com/episodes/67-restful-authentication -- отличный скринкаст, объясняющий restful_authentication

Этой информации должно быть достаточно , чтобы вы начали находить орла и решку ...удачи.

Просто обновляю это:Райан Бейтс' Рельсовый выпуск #250 показано создание системы аутентификации с нуля....

Еще один голос за Clearance - возможно, не такой настраиваемый или "in", как authlogic, но с точки зрения возможности просто установить его на место и уйти, на него определенно стоит взглянуть.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top