Laravel身份验证不起作用


Laravel Authentication doesn't work

我正在使用laravel 5.2,并且我有一个自定义身份验证的问题。它不会让用户登录。
你可以在这里找到我的函数代码:

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::login的地方,我也尝试了函数尝试和检查,但没有任何工作…
它记录用户,但它显示一个空白页面,没有重定向到url。

您将看到一个空白页面,而不是被重定向到'/profile',因为您的第二个if条件永远不会为真

Auth::login($user)
即使用户已登录,

也不会返回null所以基本上是

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,并将被重定向到'/profile'。