我在验证管理员登录凭据时遇到困难,并且不确定我可能在哪里犯了错误。对于识别和解决问题的任何帮助,我们将不胜感激。
这是管理控制器
public function AdminLogin(Request $req)
{
try {
$credentials = [
'UserName' => $req->input('name'),
'Password' => $req->input('Password'),
];
if (Auth::guard('web')->attempt($credentials)) {
$user = Auth::guard('web')->user();
return redirect('Dashboard')->with('success', 'Login Success');
} else {
return redirect()->back()->with('error', 'Invalid login credentials');
}
} catch (\Exception $e) {
return redirect('/')->with('error', $e->getMessage());
}
}
这是登录表格
<div class="card">
<div class="card-body login-card-body">
<p class="login-box-msg">Sign in</p>
<form action="/admin/login" method="post" class="needs-validation">
@csrf
<div class="input-group mb-3">
<input type="text" class="form-control" placeholder="Enter User" name="name"
value="{{ old('user') }}">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-user"></span>
</div>
</div>
</div>
<span style="color:red">
@error('name')
{{ $message }}
@enderror
</span>
<div class="input-group mb-3">
<input type="password" class="form-control" placeholder="Password" name="Password"
value="{{ old('password') }}">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-lock"></span>
</div>
</div>
</div>
<span style="color:red">
@error('password')
{{ $message }}
@enderror
</span>
<div class="row">
<div class="col-4">
<div class="icheck-primary">
<input type="checkbox" id="remember">
{{-- <label for="remember">
Remember Me
</label> --}}
</div>
</div>
<!-- /.col -->
<div class="col-4">
<button type="submit" class="btn btn-primary btn-block">Login
In</button>
</div>
<!-- /.col -->
</div>
</form>
{{-- <div class="social-auth-links text-center mb-3">
<p>- OR -</p>
<a href="#" class="btn btn-block btn-primary">
<i class="fab fa-facebook mr-2"></i> Sign in using Facebook
</a>
<a href="#" class="btn btn-block btn-danger">
<i class="fab fa-google-plus mr-2"></i> Sign in using Google+
</a>
</div>
<!-- /.social-auth-links --> --}}
{{-- <p class="mb-0">
<a href="register.html" class="text-center">Register a new membership</a>
</p> --}}
</div>
<!-- /.login-card-body -->
</div>
这是使用 post 方法的管理员登录控制器
Route::post('/admin/login', [AdminController::class, 'AdminLogin']);
在管理模型中覆盖密码字段,如下所示
public function getAuthPassword()
{
return $this->Password;
}
在控制器中
public function AdminLogin(Request $req)
{
try {
$credentials = [
'UserName' => $req->input('name'),
'password' => $req->input('Password'),
];
if (Auth::guard('web')->attempt($credentials)) {
$user = Auth::guard('web')->user();
return redirect('Dashboard')->with('success', 'Login Success');
} else {
return redirect()->back()->with('error', 'Invalid login credentials');
}
} catch (\Exception $e) {
return redirect('/')->with('error', $e->getMessage());
}
}