Установите пароль для пользователя автоматически - без Devise - PullRequest
0 голосов
/ 10 апреля 2019

Я новичок в Rails 5, буду признателен за вашу помощь.

У меня есть модель пользователя, где, очевидно, сохраните пароль для пользователя для возможного входа в систему.

Дело в том, что я хочу установить пароль автоматически на основе текстового поля , называемого идентификационный_номер.

Все, что я прочитал, касается работы с гемом Devise, но я им не пользуюсь и тоже не хочу.

Еще раз, спасибо за вашу помощь.

Ответы [ 2 ]

1 голос
/ 10 апреля 2019

Поле пароля - это просто другое строковое поле с именем :identification_number для вашего случая.

Но , сохранение пароля в БД в виде простых строк крайне не рекомендуется.

Существует множество проблем безопасности, если вы сохраняете пароли в виде простых строк в вашей базе данных.

Некоторые из них таковы:

  • У вас есть полный доступ к паролям вашихпользователи
  • Если кому-то удастся получить доступ к вашей базе данных, он также получит полный доступ к паролям ваших пользователей.

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

С помощью быстрого поиска в Google я нашел несколько соответствующих сообщений в блоге, которые могут помочь вам создать шифрование пароля с нуля, например,as:

Без использования драгоценного камня: https://www.sitepoint.com/rails-userpassword-authentication-from-scratch-part-i/

Использование некоторых драгоценных камней: http://railscasts.com/episodes/250-authentication-from-scratch?view=asciicast

Кроме того, пароль не является идентификационным номером.Я бы не использовал это имя.Пароль не используется для идентификации пользователя.id большую часть времени является идентификационным номером.Лучше просто назови это :password.Кроме того, это не обязательно должно быть текстовое поле, оно не должно быть таким длинным.

0 голосов
/ 10 апреля 2019

Вы можете использовать bcrypt gem для реализации безопасного пароля.

bcrypt ruby ​​gem предоставляет вам метод has_secure_password. Метод has_secure_password шифрует пароли путем хеширования и подсчета паролей и создает «password_digest».

Вы можете обратиться по этой ссылке для получения дополнительной информации

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