0

ユーザーがパスワードを変更できるようにする必要があります。ログアウトせずに、この新しいパスワードを反映するようにセッションのパスワードを切り替えたいと思います。

def set_auth username, password
    # test username and password here?
    auth_object = AuthCookie.new
    auth_object.set_username username
    auth_object.set_password password
    session[:user_login] = auth_object
end

上記のようなものを使用していますが、現在のセッションのパスワードを、入力したばかりの新しいパスワードに変更しても機能しないようです。

私は何を間違っていますか?

4

1 に答える 1

1

authオブジェクト全体をセッションに保存しないでください。最も重要なことは、パスワード情報をセッションに保存しないことです。RailsのデフォルトのセッションストレージはCookieベースであり、base64エンコード文字列のみです。したがって、セッションでユーザーパスワード情報を保存すると、セキュリティ上の問題が発生します。

ユーザーIDをセッションに入れるだけです(例:user_id)。session[:user_id] = user_id

于 2012-06-21T02:30:44.643 に答える