Laravel Auth :: guard работает только по умолчанию

Впервые я спрашивал здесь что-нибудь раньше, и не самый опытный, так что, пожалуйста, будьте любезны!

В моей БД настроены две таблицы — Пользователи и Агенты.

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

Охранники, которых я пытаюсь:

Auth::guard('web')->attempt($credentials)

Auth::guard('agent')->attempt($credentials)

Если я установил защиту по умолчанию в моем auth.php файле на веб-защиту, она будет работать нормально и регистрировать соответствующие учетные данные из таблицы «Пользователи», но при попытке ввести учетные данные агентов она отображается на вкладке «Моя сеть»:

Авторизоваться —

Найден POST 302

Агент —

GET 302 найдено

Авторизоваться —

Получить 200 ОК

Это почти похоже на то, что он подтверждает правильность учетных данных и перенаправляет, но затем не продолжает использовать выбранную охрану?

LoginController — DoLogin

Конфигурация Auth.php

пожалуйста, проверьте обновленный ответ   —  person Alex    schedule 12.02.2019

Вы вообще изучали разрешение Laravel? Может помочь вам упростить логический компонент здесь.   —  person Alex    schedule 13.02.2019

См. также:  Аутентификация Api тестового полета Amadeus с помощью Javascript Fetch
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 1
  1. Alex

    в вашей config/auth.php копии под кодом:

    <?php
    return [
    
        'defaults' => [
            'guard' => 'web',
            'passwords' => 'users',
        ],
    
        'guards' => [
            'web' => [
                'driver' => 'session',
                'provider' => 'users',
            ],
            'agent' => [
                'driver' => 'session',
                'provider' => 'agents',
            ]
    
        ],
    
        'providers' => [
            'users' => [
                'driver' => 'eloquent',
                'model' => App\User::class,
            ],
            'agents' => [
                'driver' => 'eloquent',
                'model' => App\Agent::class,
            ]
        ],
    
        'passwords' => [
            'users' => [
                'provider' => 'users',
                'table' => 'password_resets',
                'expire' => 60,
            ],
            'agents' => [
                'provider' => 'agents',
                'table' => 'password_resets',
                'expire' => 60,
            ],
        ],
    ];
    

    в вашем контроллере входа:

     public function login(Request $request)
        {
          $this->validate($request, [
            'email'   => 'required|email',
            'password' => 'required|min:6'
          ]);
    
          if (Auth::guard('agent')->attempt(['email' => $request->email, 'password' => $request->password])) {
            return redirect('/dashboard/agent');
          }
    
          if(Auth::guard('web')->attempt(['email' => $request->email, 'password' => $request->password])){
             return redirect('/dashboard/user');
          }
    
            return redirect()->back()->withInput($request->input());
    
    
        }
    

    У меня такая же проблема. Он идет к 302, затем обратно к 200 person Alex; 12.02.2019

    Кажется, аутентификация пользователя с учетными данными, а затем возврат к логину: / person Alex; 12.02.2019

    Спасибо за ответ, но, к сожалению, все еще не удалось войти в систему агентов :( person Alex; 12.02.2019

    создать 2 отдельных контроллера входа в систему для пользователя и агентов person Alex; 12.02.2019

    У меня было два до того, как я объединил их в один, и все еще имел ту же проблему person Alex; 12.02.2019

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: