Как пройти аутентификацию и авторизоваться в laravel, используя guard?

Я пытаюсь сделать аутентификацию, используя guard в Laravel 5.8. Аутентификация пройдена, но как-то не входит в систему пользователя.

public function login(Request $request)
{
  $email = $request->email;
  $password = $request->password;

  $credentials = $request->only('email','password');

  if (Auth::guard('owner')->attempt($credentials,$request->remember)){

     //echo "Authentication is passed";

     return redirect()->intended('/owner/dashboard');
  }

  return redirect('/owner')->with('error','Login failed.');
}

При перенаправлении на маршрут /owner/dashboard который фильтруется с $this->middleware('owner')пользователь будет перенаправлен в форму входа и получит уведомление о том, что вход не выполнен. Является Auth::guard('owner')->attempt($credentials) только аутентификация без входа в систему пользователя?

1 ответ

В config/auth.php добавьте это добавьте новый сторож и провайдера для этого сторожа

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

        'api' => [
            'driver' => 'token',
            'provider' => 'users',
        ],
    ],
    ```
    ```
    'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => App\User::class,
        ],
        'owner' => [
            'driver' => 'eloquent',
            'model' => App\Owner::class,
        ],

    ],

    ```
    ```
      'passwords' => [
        'users' => [
            'provider' => 'users',
            'table' => 'password_resets',
            'expire' => 60,
        ],
        'owner' => [
            'provider' => 'owner',
            'table' => 'password_resets',
            'expire' => 60,
        ],
    ],
    ```
    Follow this article
    https://medium.com/@sagarmaheshwary31/laravel-multiple-guards-authentication-setup-and-login-2761564da986
Другие вопросы по тегам