Laravel 5.7 多重身份验证

Laravel 5.7 Multi Authentication

我在 Laravel 5.7 除了默认身份验证之外,还创建了另一个管理员身份验证。它们都正常运行,但是我创建的新身份验证不显示错误消息

对于默认身份验证的错误登录尝试。

这里是我为 Admin 模型创建的 LoginController 使用的代码。

public function showLoginForm(){
        return view('admin.login');
    }

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

        ]);

        //Attempt to lo the Admin in
       $credential = [
            'email' => $request->email,
            'password' => $request->password,   
        ];
        //Attempt to log the Admin in
        if(Auth::guard('admin')->attempt($credential, $request->member)){
            return redirect()->intended(route('admin.home'));
        }
        //If unscuccessful, then redirect back to the login with the form data
        return redirect()->back()->withInput($request->only('email','remember'));
    }

请告诉我如何解决这个问题。谢谢。

您需要验证这些数据

//取自默认授权控制器

protected function validateLogin(Request $request)
    {
        $request->validate([
            $this->username() => 'required|string',
            'password' => 'required|string',
        ]);
    }

并在 blade 文件中显示错误

比如

显示所有错误

@if ($errors->any())
        {{ implode('', $errors->all('<div>:message</div>')) }}
@endif

并显示具体错误

<input type="text" name="firstname">
@if ($errors->has('firstname'))
    <div class="error">{{ $errors->first('firstname') }}</div>
@endif

如果您不清楚,请观看

上的教程
https://pusher.com/tutorials/multiple-authentication-guards-laravel