2

Rails 3 has_secure_password でセッションを作成するにはどうすればよいですか? http://guides.rubyonrails.org/security.htmlをチェックアウトしました。

そして、それはどれも本当に具体的ではありません。セッションメソッドを使用する必要がありますか? コミュニティ標準とは何ですか?Devise/Cancan を使用したくありません。Cookie に基づく単純な承認/認証のみが必要です。

User オブジェクトを Cookie に保存する必要がありますか?
パスワードは脆弱でしょうか?

4

2 に答える 2

3

第8章のMichael Hartlによるこのチュートリアルをチェックしてください。彼はhas_securedの使用の実装をうまく説明しました

http://ruby.railstutorial.org/ruby-on-rails-tutorial-book

基本的に、ユーザー モデルには password フィールドと password_confirmation フィールドと password_digest フィールドが必要です。モデルで has_secure_password を呼び出すと、パスワードの確認が有効になるたびに、password_digest が生成されます。以下を確認することで、セッションコントローラーにユーザーをログインできます。

if user and user.authenticate(password)
  // sign_in_user
else
  // return error message
end

cookie でユーザーを識別するために、モデル フィールドに remember_token も必要になります。認証時にremember_tokenを返し、レールのセッション関数に設定できます。例:

user = User.find_by_email(email)
session[:remember_token] = user.remember_token
于 2012-11-24T18:39:28.893 に答える
1

お金に余裕がある場合は、Railscasts Pro が has_secure_password を使用して詳しく説明しています。エピソード 250 改訂、ゼロからの認証 (改訂)


無料で詳細なASCIIcastを含む、少し古いバージョンのスクリーンキャストもあります。セッションの部分は、読んだり見たりするのに役立つかもしれません。

于 2012-11-24T18:46:49.010 に答える