繁体   English   中英

自动为用户设置密码-无需设计

[英]Set password for user automatically - without Devise

我是Rails 5的初学者,非常感谢您的帮助。

我有一个用户模型,其中显然为该用户保存了一个密码以进行可能的登录。

事情是我想基于一个称为Identification_numbertext_field自动设置密码

我读过的所有内容都是关于使用Devise gem进行的,但是我没有使用它,也不想这样做。

再次感谢您的帮助。

对于您的情况,密码字段只是另一个名为:identification_number字符串字段。

但是 ,强烈建议不要在数据库中将密码另存为纯字符串。

如果将密码以纯字符串形式保存在数据库中,则会存在很多安全问题。

其中一些是:

  • 您拥有用户密码的完全访问权限
  • 如果有人以某种方式设法访问您的数据库,他们还将具有对用户密码的完全访问权限。

为了避免这些问题,大多数应用程序将密码字符串另存为带有某种盐的加密字符串,以增强熵。

通过Google的快速搜索,我发现了一些相关的博客文章,可以帮助您从头开始构建密码加密,例如:

不使用gem: https//www.sitepoint.com/rails-userpassword-authentication-from-scratch-part-i/

使用一些宝石: http: //railscasts.com/episodes/250-authentication-from-scratch?view= asciicast

除此之外,密码不是身份证号码。 我不会使用这个名字。 密码不用于标识用户。 id通常是标识号。 最好叫它:password 另外,它不必是文本字段,也不必那么长。

您可以使用bcrypt gem来实现安全密码。

bcrypt红宝石gem为您提供has_secure_password方法。 has_secure_password方法通过对密码进行哈希处理和加盐处理来加密密码,并生成“ password_digest”。

您可以参考此链接以获取更多信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM