Laravel 验证登录

wen*_*nus 3 php validation login laravel

这次我正在学习验证。我无法为我的登录表单执行此操作...我的代码现在看起来像这样,它仅在出现错误时才有效,但此代码不想登录我的用户。我的代码中应该有什么工作,为什么它现在不起作用?我也不知道这个验证如何知道哪个电子邮件和密码应该与登录名和哪个表进行比较?我应该在某处添加此信息吗?

public function login(Request $request)
  {
    $this->validate($request, [
        'email'           => 'required|max:255|email',
        'password'           => 'required|confirmed',
    ]);

        return redirect()->intended('/panel');

  }
Run Code Online (Sandbox Code Playgroud)

rap*_*2-h 5

您可以考虑将特征添加AuthenticatesUsers到您的控制器中:

class LoginController extends Controller {

    use \Illuminate\Foundation\Auth\AuthenticatesUsers; // <- add this line

    // ...
}
Run Code Online (Sandbox Code Playgroud)

然后你可以抛出你的login方法,一切都会起作用。更多信息在这里

但是如果你想建立自己的认证系统(我不推荐),你必须多挖。你可以看看这里。然后像这样更新你的控制器:

public function login(Request $request)
{
    $this->validate($request, [
        'email'           => 'required|max:255|email',
        'password'           => 'required|confirmed',
    ]);
    if (Auth::attempt(['email' => $email, 'password' => $password])) {
        // Success
        return redirect()->intended('/panel');
    } else {
        // Go back on error (or do what you want)
        return redirect()->back();
    }

}
Run Code Online (Sandbox Code Playgroud)