在Rails的条件密码验证

在我的应用我有唱歌了用户的方式有两种:

  1. 报名表格
  2. Facebook连接

在这两个方面,我们将信息存储到数据库中,但只是在首先要我们要存储的密码。

我有我想要的用户注册的第一种方式要进行一些相关的密码验证,但我不希望它发生的第二个。 什么是对Rails这样做的适当和安全的方式?

我的第一个办法是创造了所谓的用户对象的属性password_optional并与验证做一个有条件的,但我不知道我怎么可以设置该属性默认为false,或将其设置为false,当用户注册使用的形式。

--------------解决方案-------------

跳过验证,当你不需要它。 有这样做的多种方式

也许你可以有两种模式User::Normal < UserUser::Facebook < User 。 大部分的逻辑进入用户和特异性进入定制机型。

也许你可以随便去validates_presence_of :password, :if => not_facebook?或者诸如此类的东西。

如果你没有一个密码,当用户注册通过Facebook,但您的验证需要它,将它设置一些随机字符串即可。

这究竟是什么设计文档中建议。

分类:Ruby on Rails的 时间:2015-03-14 人气:0
本文关键词: Ruby on Rails的,验证密码
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.641 (s). 10 q(s)