Laravel 7 Guard无法登录

时间:2020-04-22 04:47:59

标签: laravel laravel-7

我对laravel 7自定义后卫身份验证有疑问。

    $this->guard()->attempt(
        $this->credentials($request), $request->filled('remember')
    );

这行代码使用默认的防护措施'web',效果很好。

    $this->guard('agent')->attempt(
        $this->credentials($request), $request->filled('remember')
    );

此行代码使用了自定义防护'agent',并且已正确配置,因为它确实将'1'返回为true,所以我也可以使用guard('agent')->user()获取用户信息。 但是,它不会将用户登录到应用程序中。它循环回到登录页面。任何帮助,将不胜感激。

保护码:

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

    'api' => [
        'driver' => 'token',
        'provider' => 'users',
        'hash' => false,
    ],
    'agent' => [
        'driver' => 'session',
        'provider' => 'agents',
    ],
],

提供者代码:

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\User::class,
    ],

    'agents' => [
        'driver' => 'eloquent',
        'model' => App\Agent::class,
    ],
],

1 个答案:

答案 0 :(得分:0)

代替使用<form name="do-form"> <p>BMR Calculator</p> <p>Gender: <input type="radio" id="gender" name="gender" value="male">Male <input type="radio" id="gender" name="gender" value="female">Female </p> <p>Weight:&nbsp;<input type="number" name="weight" id="weight" size="10" maxlength="6" onkeyup="fieldCheck">&nbsp;kg</p> <p>Height:&nbsp;<input type="number" name="height" id="height" size="10" maxlength="6" onkeyup="fieldCheck">&nbsp;cm</p> <p>Age:&nbsp;<input type="number" name="age" id="age" size="10" maxlength="3" onkeyup="fieldCheck"></p> <input type="submit" id="calculate" value="Calculate" alt="calculate" onclick="toCalculate()"> <input type="submit" id="clear" value="Clear" alt="clear"><br><br> <label>BMR = &nbsp;<input id="result" type="text" name="result" size="15" maxlength="10" />&nbsp;calories/day</label> </form>

将其替换为

$this->guard()->attempt(

如果您要使用默认防护,或者要使用特定防护,请按照这种方式进行操作。我们将使用您可以使用的现有防护装置。

auth()->attempt([$this->credentials($request), $request->filled('remember')])