如何使用Ruby on Rails中的Devisevalidation密码强度?

我想强制用户在注册时选择一个强密码。

我知道,那里有很多jquery密码强度计,我很可能也会使用其中一个。 但这并没有真正强制任何人选择强密码。 注册表单也必须在没有启用js的情况下可用,因此仍然可能使用弱密码注册。

帐户必须最安全,因为如果您已登录,则可以查看其他帐户的数据,在任何情况下我都不希望这些数据。 所以我想在这里寻求最大的安全性,因此我认为,最重要的是只允许使用强密码。

所以,

如何设置和自定义validation最小密码强度的要求? 我唯一能在设计配置文件中找到的是密码长度。 我应该用这个任务的另一个gem吗?

您可以使用Devise Security扩展 ,您可以在其中定义密码regexpvalidation(以及其他内容)并强制实施所需的密码强度。

我最近发布了一个使用zxcvbn库拒绝弱密码的设计gem:

https://github.com/bitzesty/devise_zxcvbn

在撰写本文时(2018年),我建议其他人在考虑之前推荐的Devise Security扩展gem之前考虑更新的Devise Security分支(从2016年3月的v0.10.0开始,但仍然是 OG AF mang!)

编辑: 这个看起来更近,但是idk。