在Rails中获取Model对象的密码和确认字段
是否有任何方式在Rails中获取Model对象的password和password_confirmation字段?比方说,我有一个用户对象在Rails中获取Model对象的密码和确认字段
user = User.find(1)
现在,我要获取这样的密码字段的值。
password = user.password
confirmation = user.password_confirmation.
我尝试这样做,但它返回零。
我知道,如果他们允许这些字段是可访问的,这是一个安全问题。但是,我想获取这些值以便在我们的应用程序中实现的功能。
假设您使用的是Devise,与用户密码相关的唯一属性是encrypted_password
,它将返回BCrypt
加密密码。您还可以阅读password_salt
用户属性。
你可以看到所有的设计用户模型属性:User.column_names
我们可以得到encrypted_password,但是我们需要使用AES gem来解密它以得到实际的密码。但是,无论如何,我从你的答案中得到了解决方案。 –
由于安全原因,您应该**绝不**'加密'密码。 –
酷... !!我不会......我用encrypted_password解决了这个问题。 –
我想,如果你正在使用的密码任何类型的加密,然后它会返回零。 – Pavan
是的。我正在使用devise gem进行身份验证。因此,默认使用'BCrypt'加密机制。即使使用加密,是否有任何想法获取密码字段的值..? –
@Breenho我想我回答了你的问题,如果没有,随时发表评论! –