【问题标题】:How to change password field name in Laravel如何在 Laravel 中更改密码字段名称
【发布时间】:2018-03-26 12:35:39
【问题描述】:

我想更改 Laravel 5.6 中的默认身份验证字段名称,它看起来适用于用户名但不适用于密码。
我查看了How to change / Custom password field name for Laravel 4 and Laravel 5 user authentication 这个问题,Sample data to test 有效,但不在我的登录表单中。

用户名为useUsername
密码是usePassword

在我的登录表单上,我测试了一些数据 当我尝试使用 db 中密码哈希的用户登录时,我得到These credentials do not match our records
当我在数据库中使用没有密码哈希的用户登录时,我在vendor/laravel/framework/src/Illuminate/Auth/EloquentUserProvider.php-> validateCredentials(UserContract $user, array $credentials) 中遇到问题Undefined index: password

我在loginController.php中更改的内容

protected function validateLogin(Request $request)
{
    $this->validate($request, [
        $this->username() => 'required',
        'usePassword' => 'required',
    ]);
}

public function username()
{
    return 'useUsername';
}

protected function credentials(Request $request)
{
    return $request->only($this->username(), 'usePassword');
}

Users.php

protected $table = 't_user';

public function getAuthPassword()
{
    return $this->usePassword;
}

我希望你能帮助我解决这个问题,我真的不明白为什么我会得到这些不同的哈希或非哈希错误以及如何解决它。
MYT。

【问题讨论】:

    标签: php laravel authentication laravel-5.6


    【解决方案1】:

    我认为你可以通过在 Laravel 中使用 Bcrypt 来使用哈希密码。

    喜欢

    $password = Hash::make('你的密码');

    基本上,您将在创建/注册新用户时这样做

    然后哈希密码将被存储到数据库中。

    当您登录时,您可以记住您的密码,否则会出现错误...

    如果你忘记了你的哈希密码,那么你可以使用这个来加密密码

    $password = bcrypt('admin');

    希望对你有帮助……

    有关哈希的更多信息,您可以访问

    Hashing in laravel

    【讨论】:

    • 我没有解决我的问题,因为我在主帖中写了我的 2 个例子。如果我尝试使用密码哈希,我会收到一个错误,当我尝试使用非哈希密码时,凭据是错误的
    • 当我得到Credentials not match 并且现在有Password not definided in ValidateCredentials() 时它解决了问题,这在交换两个示例时是正常的
    • 我认为哈希密码以加密格式存储密码是安全的,所以这是正常的......
    • 问题是password not defined 不是哈希,反正我解决了我的问题。顺便说一句,我不使用哈希,因为我做了一些测试,将来我将使用 NTLMHash,因为我的用户数据来自广告
    【解决方案2】:

    我通过自定义 AuthController 解决了我的问题。这是我想做的最简单的事情。

    【讨论】:

      猜你喜欢
      • 2018-08-04
      • 2022-01-16
      • 1970-01-01
      • 2017-02-24
      • 2018-02-02
      • 1970-01-01
      • 1970-01-01
      • 2017-01-15
      • 2019-03-10
      相关资源
      最近更新 更多