Authlogic を使用してユーザーを認証しています。
セッションの作成方法と使用方法は理解していますが、authlogic によって作成された current_user セッションに追加の id 変数を保存したいと考えています。
私はちょうどこのようなことをすることができます:
session[:authlogic_sess_name] = @extra_id.id
ただし、authlogic セッションの名前やアクセス方法がわかりません。
ありがとう!
Authlogic を使用してユーザーを認証しています。
セッションの作成方法と使用方法は理解していますが、authlogic によって作成された current_user セッションに追加の id 変数を保存したいと考えています。
私はちょうどこのようなことをすることができます:
session[:authlogic_sess_name] = @extra_id.id
ただし、authlogic セッションの名前やアクセス方法がわかりません。
ありがとう!
セッションに値を保存しないのはなぜですか?
session[:extra] = @extra_id.id
Authlogic の current_user は、Rails スタック自体によって管理される、現在のセッションの単なる値です。
この追加の属性を AuthLogic の UserSession オブジェクトに追加する必要がない場合は、セッション ハッシュ自体に値を格納する方が簡単かもしれません。
しかし、私の特定のケースでは、そしておそらくあなたのケースでも、「セッション」が利用できない UserSession モデルのコールバックでアクセスしたいので、セッションハッシュではなく UserSession レコードに具体的に必要な情報があります。
UserSession に追加の属性を保存する方法を説明している古いブログ記事を次に示します: http://railsblog.kieser.net/2010/03/authlogic-custom-logins-and-persisting.html
編集:私はこのアプローチであまり運がありませんでした。セッション ハッシュからの情報を必要とすることを行うために、そのロジックをモデルではなくコントローラーに入れました。
AuthLogic には、実際にはコントローラ メソッドを実行する特定のコールバックがあります。たとえば、AuthLogic は last_request_update_allowed? を呼び出します。コントローラーがそれに応答する場合は、last_request_at を設定する直前に。