Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将mysql password()函数与Laravel身份验证一起使用_Php_Mysql_Laravel_Authentication - Fatal编程技术网

Php 将mysql password()函数与Laravel身份验证一起使用

Php 将mysql password()函数与Laravel身份验证一起使用,php,mysql,laravel,authentication,Php,Mysql,Laravel,Authentication,我正在将一个旧的php html网站迁移到vuejs/laravel 已经有成千上万的用户了,所以我想我无法更改密码密码。现在,只使用mysql password()方法对其进行加密,然后我们检查password(password)=password(authpassword)。 但是可以在我的laravel身份验证中添加此密码()吗?我已经删除了散列 public function login(Request $request){ $user = User::where('email'

我正在将一个旧的php html网站迁移到vuejs/laravel

已经有成千上万的用户了,所以我想我无法更改密码密码。现在,只使用mysql password()方法对其进行加密,然后我们检查password(password)=password(authpassword)。 但是可以在我的laravel身份验证中添加此密码()吗?我已经删除了散列

public function login(Request $request){
    $user = User::where('email', $request->email)
        ->where('pwd', $request->password)
        ->first();
    if($user) {
        Auth::login($user);
        return redirect()->back();
    } else {
        return redirect()->back()->withInput();
    }
}
登记

protected function validator(array $data)
{
    return Validator::make($data, [
        'nom' => ['required', 'string', 'max:255'],
        'email' => ['required', 'string', 'email', 'max:255'],
        'pwd' => ['required', 'string', 'min:8', 'confirmed'],
    ]);
}


protected function create(array $data)
{
    return User::create([
        'email' => $data['email'],
        'login' => $data['email'],
        'pwd' => ($data['password']),
        'type' => 'P'
    ]);
}

public function register(Request $request)
{
    event(new Registered($user = $this->create($request->all())));

    $this->guard()->login($user);
}

非常感谢

密码是否以明文形式存储?然后你可以很容易地切换到laravel使用的方法。它是以纯文本形式存储的。是的,通过这个。你的意思是散列方法吗?
password()
已从较新的mysql版本中删除,并且它似乎没有对每个散列使用唯一的salt,因此你应该尝试尽快远离它。例如,通过添加一个新的、现代的散列(如bcrypt),对成功登录一段时间的用户进行散列,并在该时间段结束时向尚未登录的用户发送密码重置邮件。然后您可以完全删除旧密码。@RolandStarke我希望这只是用来说明密码是如何匹配的伪代码,而不是密码是如何匹配的:-)我强烈建议您阅读并停止在应用程序中为您的用户使用
PASSWORD()
。。像@RolandStarke已经暗示(或多或少)Laraval很可能有它的包装类/函数。密码是明文存储的吗?然后你可以很容易地切换到laravel使用的方法。它是以纯文本形式存储的。是的,通过这个。你的意思是散列方法吗?
password()
已从较新的mysql版本中删除,并且它似乎没有对每个散列使用唯一的salt,因此你应该尝试尽快远离它。例如,通过添加一个新的、现代的散列(如bcrypt),对成功登录一段时间的用户进行散列,并在该时间段结束时向尚未登录的用户发送密码重置邮件。然后您可以完全删除旧密码。@RolandStarke我希望这只是用来说明密码是如何匹配的伪代码,而不是密码是如何匹配的:-)我强烈建议您阅读并停止在应用程序中为您的用户使用
PASSWORD()
。。像@RolandStarke已经暗示(或多或少)Laraval很可能有它的包装类/函数。