Laravel Аутентификация Почему я получаю данные из другой модели или таблицы базы данных, но в самой модели это не может? - PullRequest
0 голосов
/ 06 апреля 2020

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

действительно странно

Примечание: регистрация в блоггере работает нормально, только для регистрации мастеров и специалистов, и я могу зарегистрироваться и сохранить данные в Таблица данных специалиста по костюмам ..

Это моя модель блоггера

class Blogger extends Authenticatable
{
    use Notifiable;
    protected $guard = 'blogger';
    protected $fillable = [
        'name', 'email', 'password',
    ];
    protected $hidden = [
        'password', 'remember_token',
    ];
}

Модель мастера по костюмам

class Suitspecialist extends Authenticatable
{
    use Notifiable;

    protected $guard = 'suitspecialist';

    protected $fillable = [
        'name', 'email', 'password',
    ];

    protected $hidden = [
        'password', 'remember_token',
    ];
}

Контроллер входа блоггера

 public function showBloggerLoginForm()
{
    return view('auth.login', ['url' => 'blogger']);
}

public function bloggerLogin(Request $request)
{
    $this->validate($request, [
        'email'   => 'required|email',
        'password' => 'required|min:6'
    ]);

    if (Auth::guard('blogger')->attempt(['email' => $request->email, 'password' => $request->password], $request->get('remember'))) {

        return redirect()->intended('/blogger');
    }
    return back()->withInput($request->only('email', 'remember'));
}

Контроллер входа мастеров мастеров

public function showSuitspecialistLoginForm()
{
    return view('auth.login', ['url' => 'suitspecialist']);
}

public function suitspecialistLogin(Request $request)
{
    $this->validate($request, [
        'email'   => 'required|email',
        'password' => 'required|min:6'
    ]);

    if (Auth::guard('suitspecialist')->attempt(['email' => $request->email, 'password' => $request->password], $request->get('remember'))) {

        return redirect()->intended('/suitspecialist');
    }
    return back()->withInput($request->only('email', 'remember'));
}

1 Ответ

0 голосов
/ 06 апреля 2020

Проверьте ваш атрибут модели в config/auth.php. Я думаю, что это установлено на «блоггер». Измените его на модель, которую вы будете использовать для аутентификации.

...