鍍金池/ 問答/PHP/ laravel 中 Auth::attempt() 返回false

laravel 中 Auth::attempt() 返回false

如題 不管怎樣都是false
在網(wǎng)上也找過很多 但都找不出原因
代碼如下
auth.php

<?php

return [
    'defaults' => [
        'guard' => 'web',
        'passwords' => 'users',
    ],
    'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],
        'api' => [
            'driver' => 'token',
            'provider' => 'users',
        ],
    ],
    
    'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => App\User::class,
        ],
    ],
    
    'passwords' => [
        'users' => [
            'provider' => 'users',
            'table' => 'password_resets',
            'expire' => 60,
        ],
    ],

];

控制器如下

<?php

namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;

class AuthController extends Controller
{
    public function getRegister(){
       
    }
    public function register(){
      return view('register');
    }
    public function getLogin(){
      return view('auth/login');
    }

    public function postLogin(Request $request){
        $phone = $request->input('phone');
        $password = $request->input('password');
        DB::connection()->enableQueryLog(); // 開啟查詢?nèi)罩?        //DB::table('users'); // 要查看的sqls

        $result = Auth::attempt(['phone' => $phone, 'password' => $password]);
        $queries = DB::getQueryLog(); // 獲取查詢?nèi)?        print_r($queries); // 即可查看執(zhí)行的sql
        dd($result);
        if ($result){
            return view('index', ['error_msg' => '用戶名或密碼錯誤']);
        }else{
            return view('auth/login', ['error_msg' => '用戶名或密碼錯誤']);
        }
    }
}

然后一直返回false

請問下哪兒出問題了啊?

回答
編輯回答
無標題

我看了下源代碼. 剛才說錯了. 除了password這個字段是固定的, 別的都可以加.
表里面有phone字段, 就可以加phone.

現(xiàn)在這種情況, 你需要看一下sql日志, 再確定你用的這個phone的密碼是對的.
檢查密碼是用 Hash::check() 函數(shù).

2018年4月4日 11:55