我正在 Laravel 中进行自定义登录,当我尝试检查登录表单的数据时,我无法登录。在注册中,我对密码进行哈希处理以将其存储在数据库中,因此登录表单的密码字段永远不会等于存储的数据库。
这是我的创建函数,我在其中注册用户:
public function create()
{
$this->validateFields();
if (request('profileImage') !== null) {
$this->storeImage();
User::create([
'username' => request('username'),
'email' => request('email'),
'password' => Hash::make('password'),
'profileImage' => request()->profileImage->getClientOriginalName(),
]);
}
User::create([
'username' => request('username'),
'email' => request('email'),
'password' => Hash::make(request('password')),
]);
return Redirect::to(route('user.showLoginForm'));
}
validateFields 和 storeImage 与问题无关......
这是我的登录功能:
public function login()
{
request()->validate([
'email' => 'required',
'password' => 'required'
]);
$credentials = array(
"email" => request("email"),
"password" => bcrypt(request("password"))
);
if (Auth::attempt($credentials)) {
return 'exit!';
}
return 'Error';
}
这是我的登录表单:
<div class="container">
<div class="row pt-2">
<div class="col-sm-12 justify-content-center">
<div class="card">
<div class="card-header">
<h4>
Login
</h4>
</div>
杨__羊羊
肥皂起泡泡
当年话下