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
我在 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