最近、Laravel 4 アプリに「remember me」機能を追加することにしました。適切な構文のメソッドが見つかりました:
Auth::attempt(array $credentials = array(), $remember = false)
これは私のニーズに次のように採用されました:
Auth::attempt($userdata, Input::has('remember'))
アプリケーションは Auth セッションを維持し、ブラウザを閉じた後でもユーザーは認証されました。
ただし、「記憶」チェックマークの状態に関係なく、Laravelは常にユーザーを認証したままにしていることがわかりました。
私はやろうとしました:
Auth::attempt($userdata, false)
と
Auth::attempt($userdata,)
ユーザーは、ブラウザー セッション全体でまだ認証されていました!!! さて、認証セッションを保持していないので、メソッドに第2引数の指示があるたびに、Laravel autoはそれを「true」と見なすAuth::attempt($userdata)
ように感じました。Auth::attempt
誰かがそれを明確にできますか?
編集:誰にとっても非常に明確にするために、この動作を再現する手順をリストします。
- アプリのログアウト
Auth::logout();
- 再ログイン
Auth::attempt($userdata, false)
- ブラウザを閉じて開く
- アプリの URL に移動します。
- アプリケーションは認証されてロードされます
これはここでの最初の質問なので、しばらくお待ちください:)