Multi auth использовать одну страницу логина laravel - PullRequest
0 голосов
/ 24 мая 2018

Я новичок в laravel, но мне любопытно, что такое multi auth laravel.Я хочу сделать какой-то сайт, который имеет два правила, клиент и продавец.Но я хочу, чтобы они использовали ту же форму входа.Я пытаюсь использовать php artisan make: auth, но я не понимаю, как использовать его в одном контроллере, используйте LoginController.php. Из того, что я видел во многих руководствах, он отделен другой формой входа и контроллером.Как форма входа клиента и форма входа продавца.Можно ли сделать multi auth используя одну форму входа и только один контроллер входа?

Спасибо

Ответы [ 2 ]

0 голосов
/ 27 апреля 2019
public function login(Request $request)
{
    // Validate the form data
    $validator = $this->validate($request, [
    'email'   => 'required|email',
    'password' => 'required|string'
  ]);

    // Attempt to log the customer in
    if (Auth::guard('customer')->attempt(['email' => $request->email, 'password' => $request->password], $request->remember)) {
        // if successful, then redirect to their intended location
        return redirect()->intended(route('Put_your_URL'));
    } //attempt to log the seller in
    else if (Auth::guard('seller')->attempt(['email' => $request->email, 'password' => $request->password], $request->remember)) {
        // if successful, then redirect to their intended location
        return redirect()->intended(route('Put_your_URL'));
    }

    // if Auth::attempt fails (wrong credentials) create a new message bag instance.
    $errors = new MessageBag(['password' => ['Adresse email et/ou mot de passe incorrect.']]);
    // redirect back to the login page, using ->withErrors($errors) you send the error created above
    return redirect()->back()->withErrors($errors)->withInput($request->only('email', 'password'));
}
0 голосов
/ 24 мая 2018

Я думаю, что вы можете перезаписать attemptLogin() метод в вашем LoginController следующим образом:

protected function attemptLogin(Request $request)
{
    $customerAttempt = Auth::guard('customer')->attempt(
        $this->credentials($request), $request->has('remember')
    );
    if(!$customerAttempt){
        return Auth::guard('seller')->attempt(
            $this->credentials($request), $request->has('remember')
        );
    }
    return $customerAttempt;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...