2011-04-26 86 views
0

我使用註冊和登錄http://ruby.railstutorial.org/實施沒有任何寶石認證。但是,現在我試圖通過向用戶發送隨機生成的URL來激活用戶,我在這裏遇到了麻煩。我搜索了網頁,並且看到一些使用Authlogic的perishable_token生成這個的人,但是由於我根本沒有使用過Authlogic,所以我想知道是否有一種方法可以在不使用任何其他寶石的情況下生成這個。有沒有來自鐵路專業人士的建議?由於Ruby on Rails:沒有Authlogic的perishable_token?

回答

3

有很多方法可以實現這一點。您首先必須決定如何生成令牌。您可以簡單地創建一個md5hash,使用用戶的一些數據(如電子郵件)以及另一個種子數據(如Time.now),並將其作爲用戶的'perishable_token'存儲。

然後,您可以重寫perishable_token的reader訪問器以生成另一個令牌並更新用戶模型。

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 

以上只是一些快速的僞代碼,但應該得到重點。

+0

謝謝傑克,我會試試這個 – railslearner 2011-04-26 03:26:37

+0

它的工作完美。非常感謝 – railslearner 2011-04-27 19:02:41

相關問題