2016-10-22 5 views
1

laravel 5.2에서 작업 중이며 맞춤 인증에 문제가 있습니다. 사용자를 로그온하지 않습니다. 여기
당신이 함수에 대한 내 코드를 찾을 수 있습니다Laravel 인증이 작동하지 않습니다.

public function login(Request $request) 
{ 
    $this->validateLogin($request); 

    $email = $request->get('email'); 
    $user = User::where('email', $email)->first(); 

    if(! is_null($user)) 
    { 
     if (Auth::login($user)) 
     { 
      return redirect('/profile'); 
     } 
    } 
    else 
    { 
     $this->register($request); 
    } 
} 

인증 :: 로그인의 장소에서를, 또한 함수 시도를 시도하고 확인하지만 아무것도
그것은 사용자를 기록 ... 작동하지 않았다 ,하지만 그것은 URL로 리디렉션하지 않고 빈 페이지를 보여 주었다.

답변

1

대신 '/ 프로필'때문에 리디렉션가되는 빈 페이지를보고있는 당신의 상태가

Auth::login($user) 

사용자가 그래서 기본적으로

에 로그인 한 경우에도 널을 반환하지 결코 진정한

같은 경우 초
if (Auth::login($user)) 
    { 
     return redirect('/profile'); 
    } 

귀하의 경우에 조건이 충족되지 않는 경우입니다.

당신은 사용자가 로그인하고 '/ 프로필'로 리디렉션 경우이

public function login(Request $request) 
{ 
    $this->validateLogin($request); 

    $email = $request->get('email'); 
    $user = User::where('email', $email)->first(); 

    if(! is_null($user)) 
    { 
     Auth::login($user); 
     if (Auth::check()) 
     { 
      return redirect('/profile'); 
     } 
    } 
    else 
    { 
     $this->register($request); 
    } 
} 


Auth::check(); 

는 true를 돌려줍니다 시도 할 수 있습니다.

관련 문제