Laravel Вход в панель администратора перенаправить на страницу 404 после включения промежуточного программного обеспечения AuthenticateSession - PullRequest
1 голос
/ 05 июля 2019

Я работаю на простом блог-сайте, используя laravel, который состоит из 2-х частей, блог-сайт для пользователей и панель администратора

Все работает хорошо до, но после раскомментирования ниже строки в Http / Kernal.php

\Illuminate\Session\Middleware\AuthenticateSession::class,

не удалось войти в систему и перенаправить на панель администратора, и она перенаправлена ​​на страницу 404.

Я просто хочу использовать промежуточное ПО AuthenticateSession, потому что хочу использовать функцию logoutOtherDevices для пользователей сайта

 Auth::logoutOtherDevices($request->input('new-password'));

, когда я закомментирую эту строку \Illuminate\Session\Middleware\AuthenticateSession::class, опять-таки она работает нормально.

, пожалуйста, помогите мне решить эту проблему.

У меня есть users таблица, используемая для входа пользователей в систему, и admin таблица для входа администратора на панель управления

вот таблица дляadmin:

here is table for admin

здесь config/auth.php:

<?php

return [

    'defaults' => [
        'guard' => 'web',
        'passwords' => 'users',
    ],



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


        'admin' => [
            'driver' => 'session',
            'provider' => 'admins',
        ],



    ],



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

        'admins' => [
            'driver' => 'eloquent',
            'model' => App\Model\Admin::class,
        ]
    ],



    'passwords' => [
        'users' => [
            'provider' => 'users',
            'table' => 'password_resets',
            'expire' => 60,
        ],

        'admins' => [
            'provider' => 'admins',
            'table' => 'password_resets',
            'expire' => 60,
        ]
    ],

];

вот функция входа администратора:

 public function login(Request $request)
    {
      // Validate the form data
      $this->validate($request, [
        'email'   => 'required|email',
        'password' => 'required|min:6'
      ]);

      if (Auth::guard('admin')->attempt(['email' => $request->email, 'password' => $request->password,'status'=>1], $request->remember)) {
        // if successful, then redirect to their intended location
        return redirect()->intended(route('admin.dashboard'));
      }else{
        // if unsuccessful, then redirect back to the login with the form data
         return redirect()->back()->withInput($request->only('email', 'remember'));
      }

    }
...