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

在验证::登录的地方,我也尝试了功能的尝试和检查,但什么也没有工作...
它记录用户,但它显示一个空白页面,没有重定向到网址。

回答

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。