2016-11-01 3 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]', 
     ], 
    ]; 

에 이벤트 리스너를 추가하고,394 편집방법은 내가 기능 viaRemember을 (알고 있습니다. 로그인 상태

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

것은 제대로 전달하는 remember 변수 확인 this one

+0

유사

질문 로그인 유형을 확인하기 위해)하지만 관계없이 항상 false를 반환 내가 항상 그 일을 항상 거짓으로하지만, 나의 질문은 이것을 어디에서 사용 하는가이다. – Galfau

+0

@ Galfau 답변이 수정되었습니다. 시도해 볼 수 있습니까? – shoieb0101

+0

Event로 이벤트가 AuthController @ login에서 event() - set() 로직으로 옮겨 졌으므로 Laravel이 로그인 할 때마다 항상 Auth :: viaRemember()를 사용할 필요가 없습니다. 성공한. 감사! – Galfau