http://ruby.railstutorial.org/に実装されているサインアップとログインを、認証用の gem なしで使用しました。ただし、ランダムに生成された URL を送信してユーザーをアクティブ化しようとしているので、ここで問題が発生しています。Web を検索したところ、Authlogic の perishable_token を使用してこれを生成した人を見たことがありますが、Authlogic をまったく使用したことがないので、他の gem を使用せずにこれを生成する方法があるのではないかと考えていました。レールの専門家からのアドバイスはありますか? ありがとう
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 に答える