Сведения о вопросе

Oleksandr

00:04, 6th August, 2020

Теги

Лучшее решение для аутентификации в Ruby на Rails

Просмотров: 475   Ответов: 12

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

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



  Сведения об ответе

dumai

21:46, 19th August, 2020

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

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

Редактировать: теперь, когда Rails 3 вышел, придумать, кажется, новый, новый малыш на блоке

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

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

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


  Сведения об ответе

fo_I_K

07:15, 4th August, 2020

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


  Сведения об ответе

davran

23:44, 19th August, 2020

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

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


  Сведения об ответе

pumpa

15:34, 17th August, 2020

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

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

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


  Сведения об ответе

lats

16:13, 22nd August, 2020

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


  Сведения об ответе

ITSME

18:04, 14th August, 2020

Есть также RestfulOpenIDAuthentication , если вы хотите OpenID поддержки в дополнение к поддержке пароля.


  Сведения об ответе

dump

16:26, 5th August, 2020

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


  Сведения об ответе

davran

18:55, 29th August, 2020

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


  Сведения об ответе

VERSUION

16:15, 21st August, 2020

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

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

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

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


  Сведения об ответе

SILA

21:19, 10th August, 2020

Просто обновите это: Ryan Bates ' Railscast #250 показывает создание системы аутентификации с нуля....


  Сведения об ответе

baggs

15:22, 29th August, 2020

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

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


  Сведения об ответе

JUST___

11:33, 6th August, 2020

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


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться