Аутентификация с использованием двух таблиц laravel - PullRequest
0 голосов
/ 07 января 2020
public function traitement()
    {
        request()->validate([
            'username' =>  ['required'],
            'pass' => ['required']
        ]);



        $resultat = auth()->attempt([
            'username' => request('username'),
            'password' => request('pass'),
        ]);

        if($resultat){  
            flash("Vous êtes maintenant connecté")->success();

            return redirect('/accueil');
        }

        return back()->withInput()->withErrors([
            'pass' => 'Vos identifiants sont incorrects.'
        ]);
    }

У меня есть две таблицы 1, в которых описываются такие персоналии

персон:

id || username || id_agence

Агентство:

id || code || amount

Я использую внешний ключ id_agence, который ссылается на agency id в таблице personels. Мне бы хотелось, чтобы, когда пользователь хочет подключиться, он вводит свои username и password агентства, где он зарегистрирован

Ответы [ 2 ]

0 голосов
/ 07 января 2020

спасибо за ваш ответ, но я не указал ie все поля разных таблиц. Наследником является описание двух таблиц

Personals

id, username, id_agence

Агентства

ID, сумма, контакт, пароль

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

спасибо

0 голосов
/ 07 января 2020

Вы, вероятно, не сможете использовать auth()->attempt() в вашем особом случае использования. Вы всегда можете по умолчанию использовать ручную аутентификацию.

public function traitement() {
    request() - > validate([
        'username' => ['required'],
        'pass' => ['required']
    ]);

    $personnel = Personnel::with('agency')->where('username', request('username'))->first();
    if (!Hash::check(request('pass'), $personnel->agency->code)) {
        return back() - > withInput() - > withErrors([
            'pass' => 'Vos identifiants sont incorrects.'
        ]);
    }
    // success and login manually;
    auth()->login($personnel);

    flash("Vous êtes maintenant connecté") - > success();

    return redirect('/accueil');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...