我使用http://ruby.railstutorial.org/中实现的注册和登录,没有任何 gem 进行身份验证。但是,现在我试图通过向用户发送随机生成的 URL 来激活用户,我在这里遇到了麻烦。我在网上搜索过,看到一些人使用 Authlogic 的 perishable_token 来生成这个,但由于我根本没有使用过 Authlogic,我想知道是否有一种方法可以在不使用任何其他 gem 的情况下生成它。Rails 专业人士有什么建议吗?谢谢
问问题
744 次
2 回答
3
有很多方法可以实现这一目标。您首先必须决定如何生成令牌。您可以简单地使用用户的一些数据(如电子邮件)和另一块种子数据(如 Time.now)创建一个 md5hash,并将其存储为用户的“perishable_token”。
然后,您可以覆盖 perishable_token 的读取器访问器以生成另一个令牌并更新用户模型。
before_save :generate_perishable_token
def generate_perishable_token
self.perishable_token = Digest::MD5.hexdigest("#{Time.now}-#{self.email}")
end
def perishable_token
generate_perishable_token
save
end
以上只是一些快速的伪代码,但应该明白这一点。
于 2011-04-26T02:22:46.120 回答
1
我想一个简单的方法是只生成一个随机字符串/数字用作perishable_token
一个关于随机字符串生成的问题,你可以先看看这里。
于 2011-04-26T01:35:06.690 回答