Php 用户在Laravel上注册后无法登录

Php 用户在Laravel上注册后无法登录,php,laravel,Php,Laravel,我试图从头开始在Laravel上设置身份验证系统,但我无法让用户在注册后登录 用于存储用户的My RegisterController: public function store() { $this->validate(request(),[ 'name'=>'required', 'email'=>'required', 'password'=>'required' ]); $user = Us

我试图从头开始在Laravel上设置身份验证系统,但我无法让用户在注册后登录

用于存储用户的My RegisterController:

public function store()
{

    $this->validate(request(),[
        'name'=>'required',
        'email'=>'required',
        'password'=>'required'
    ]);

   $user = User::create(request(['name', 'email','password']));

    auth()->login($user);

    return redirect()->home();
}
现在一切都很好,但当我进入登录表单时,我无法登录。这是我的SessionController,用于处理登录:

public function store()
{

if(!auth()->attempt(request(['email','password']))) 

    return back();
}
 return redirect()->home();
}

我在这里做错了什么,我不能登录用户

在这种情况下,我发现当您注册一个用户时,您将其密码保存为数据库中的纯文本,这是非常错误的

现在,当
trunt()
尝试登录用户时,会出现问题,它会收到电子邮件,密码会将密码与数据库上的哈希密码进行比较(您的案例u保存为纯文本)

当您创建用户
bcrypt
()时,密码如下所示:

public function store()
    {

        $this->validate(request(),[
            'name'=>'required',
            'email'=>'required',
            'password'=>'required'
        ]);


       $user = User::create([ 
            'name' => request('name'),
            'email' => request('email'),
            'password' => bcrypt(request('password'))
            ]);


        auth()->login($user);

        return redirect()->home();
    }

我想是因为你已经用这个
auth()->login($user)登录了尝试注销,然后登录!!我确实有一个注销链接,它会破坏auth()会话,但是当我再次尝试登录时,它就不起作用了