Auth: guard ('partner') -> check () выдает false в Authenticate middleware - PullRequest
0 голосов
/ 22 июня 2019

Привет, у меня есть функция входа в систему, и здесь я успешно аутентифицируюсь

PartnerLoginController.php

public function login(Request $request,AuthenticationException $exception)
{

    $this->validate($request, [
        'email'=>'required|email',
        'password'=>'required|min:6'

    ]);

    $credentials = ['email'=>$request->email,'password'=>$request->password];

    if(Auth::guard('partner')->attempt($credentials,$request->input('remember'))){
        dump(Auth::guard('partner')->check());//true
        return redirect()->intended(route('owner.dashboard'));
    }
    else{
        dd(Auth::guard('partner')->attempt($credentials,$request->input('remember')));
    }
    return redirect()->back()->withInput($request->only('email','remember'));
}

Я получаю успешно истину Но затем я перенаправляю на панель управления И пытаюсь поймать $this->auth->guard('partner') в промежуточном программном обеспечении аутентификации Но я получаю ложь здесь

Authenticate.php

protected function authenticate(array $guards)
{

    if (empty($guards)) {
        return $this->auth->authenticate();
    }
    foreach ($guards as $guard) {

        dump($guard);//partner
        dump($this->auth->guard($guard)->check());//false
        if ($this->auth->guard($guard)->check()) {
            return $this->auth->shouldUse($guard);
        }
    }

    dd('here2',$guards);//get here
    throw new AuthenticationException('Unauthenticated.', $guards);
}

Почему? Кажется, что auth не сохранялся в сеансе. Но когда я захожу с помощью admin guard, я вижу true в промежуточном программном обеспечении Authenticate, так что я могу думать, что с cookie и сессиями все хорошо в отличие от процесса авторизации администратора

Есть мой файл настроек авторизации

<?php

return [

    'defaults' => [
        'guard' => 'admin',
        'passwords' => 'admins',
    ],

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

        'api' => [
            'driver' => 'token',
            'provider' => 'users',
        ],
        'admin' => [
            'driver' => 'session',
            'provider' => 'admins',
        ],
        'partner' => [
            'driver' => 'session',
            'provider' => 'partners',
        ],
    ],

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

    ],

    'passwords' => [
        'users' => [
            'provider' => 'users',
            'table' => 'password_resets',
            'expire' => 60,
        ],
        'admins' => [
            'provider' => 'admins',
            'table' => 'superadmin_password_resets',
            'expire' => 15,
        ],
        'superadmins' => [
            'provider' => 'superadmins',
            'table' => 'superadmin_password_resets',
            'expire' => 60,
        ],
        'partners' => [
            'provider' => 'partners',
            'table' => 'password_resets',
            'expire' => 15,
        ],
    ],

];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...