2016-10-22 2 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); 
    } 
} 

В месте Auth :: входа в систему, я попытался также попытку функции и проверить, но ничего не работает ...
Он регистрирует пользователя , но он показал пустую страницу, не перенаправляя 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(); 

возвращает истину, если пользователь вошел в систему и будет перенаправлен на «/ профиль».

Смежные вопросы