2016-11-01 9 views
1

私は自分のlaravel 5.3プロジェクトで覚えている私のログインを実装しましたが、いくつかの問題があり、ユーザーがページに戻るときに自動ログインしましたが、カスタムセッション変数は設定されていませんセッションはすでに期限切れです。Laravel 5.3 Remember me Auth issue

私はセッションの有効期間が120日であり、終了時に期限が切れます。

私の質問は、セッション変数を再割り当てするために私のトークンを覚えているかどうかを確認する方法は?私はミドルウェアを作成しようと考えていましたが、それが正しいのかどうかはわかりません。

マイ税関セッション変数は次のとおりです。

session()->get('client_id') -> int 
session()->get('acl') -> array 

誰もが正しい方向に私を導くことはできますか?

答えて

3

次の解決策を確認し、問題がないかどうか確認してください。

Determine if the User Was Authenticated Via the Remember Cookie

編集:

UpdateLoginTypeにリスナーのために

php artisan event:generate 

移動をイベントハンドラを生成し、を編集EventServiceProvider

protected $listen = [ 
     'Illuminate\Auth\Events\Login' => [ 
      'App\Listeners\[email protected]', 
     ], 
    ]; 

にイベントリスナーを追加します。ログインタイプ

public function handle(Login $event) 
    { 
     if (\Auth::viaRemember()) { 
      //do something 
     } else { 
      //do something else 
     } 
    } 

をチェックする方法は、ログインしながら、あなたが適切にremember変数を渡していることを確認してください。this one

+0

に似

質問を私は機能viaRememberを(知っている)が、それは関係なく常にfalseを返しません何を私はいつも間違っているが、私の質問はこれをどこで使うべきかということである。 – Galfau

+0

@Galfau回答が編集されました。それが動作するか試してみることができますか? – shoieb0101

+0

私はちょうどセッション() - set()ロジックをAuthController @ loginからEventに移動したので、Laravelは常にログイン時にそのイベントをスローするので、Auth :: viaRemember()を使用する必要はありません成功した。ありがとう! – Galfau

関連する問題