【问题标题】:Laravel Auth::attempt always return false?Laravel Auth::attempt 总是返回 false?
【发布时间】:2017-03-30 23:54:27
【问题描述】:

这是我的数据库屏幕截图和我的登录输入

public function action(Request $request){
         $username = $request->username;
         $pass = bcrypt($request->password);
         $credentials = [
                         'id' => $username,
                         'password' => $pass
                        ];

    dd(Auth::attempt($credentials));
         if (Auth::attempt(['id' => $username, 'password' => $pass])) {
            echo 'Ok';
         }else{
            echo 'Not ok';
         }

我正在尝试使用 laravel auth::attempt 进行登录操作,但它总是返回 false

【问题讨论】:

  • 您使用哪些字段进行登录?您是否可能缺少将username 字段添加到您的表?
  • 我正在使用 id 和密码登录。我应该使用“用户名”而不是“ID”吗? @GerardReches
  • 除非你有特定的理由在你的应用程序中使用 id 进行身份验证,否则我建议使用 email 字段,这是 Laravel 默认使用的。

标签: laravel laravel-5


【解决方案1】:
$pass = bcrypt($request->password);

应该是

$pass = $request->password;

attempt 方法将自动处理加密和比较。您实际上是对它进行了两次加密,因此找不到匹配项

【讨论】:

    猜你喜欢
    • 2016-09-12
    • 2017-05-24
    • 2013-06-11
    • 2015-12-10
    • 2014-03-15
    • 2019-04-14
    • 2012-10-25
    • 2017-05-11
    相关资源
    最近更新 更多