Php 限制某些注册用户登录Laravel应用程序
在使用车载认证系统的Php 限制某些注册用户登录Laravel应用程序,php,laravel-5,Php,Laravel 5,在使用车载认证系统的laravel 5应用程序上工作。用户可以注册和登录。有一个功能可以禁用某些用户。结果是,禁用的用户在启用之前将无法登录 我在users表中有一个字段active 我检查了LoginController和认证用户特征。但并没有得到任何线索,我可以检查用户是否被禁用 有什么线索或帮助吗 编辑:验证登录中使用的用户的特征 请注意,以下代码是laravel附带的,不是我写的 trait AuthenticatesUsers { use RedirectsUsers, Thr
laravel 5
应用程序上工作。用户可以注册和登录。有一个功能可以禁用某些用户。结果是,禁用的用户在启用之前将无法登录
我在users
表中有一个字段active
我检查了LoginController和认证用户
特征。但并没有得到任何线索,我可以检查用户是否被禁用
有什么线索或帮助吗
编辑:验证登录中使用的用户的特征
请注意,以下代码是laravel附带的,不是我写的
trait AuthenticatesUsers
{
use RedirectsUsers, ThrottlesLogins;
public function showLoginForm()
{
return view('auth.login');
}
public function login(Request $request)
{
$this->validateLogin($request);
if ($this->hasTooManyLoginAttempts($request)) {
$this->fireLockoutEvent($request);
return $this->sendLockoutResponse($request);
}
if ($this->attemptLogin($request)) {
return $this->sendLoginResponse($request);
}
$this->incrementLoginAttempts($request);
return $this->sendFailedLoginResponse($request);
}
protected function validateLogin(Request $request)
{
$this->validate($request, [
$this->username() => 'required', 'password' => 'required',
]);
}
protected function attemptLogin(Request $request)
{
return $this->guard()->attempt(
$this->credentials($request), $request->has('remember')
);
}
protected function credentials(Request $request)
{
return $request->only($this->username(), 'password');
}
protected function sendLoginResponse(Request $request)
{
$request->session()->regenerate();
$this->clearLoginAttempts($request);
return $this->authenticated($request, $this->guard()->user())
?: redirect()->intended($this->redirectPath());
}
protected function authenticated(Request $request, $user)
{
//
}
protected function sendFailedLoginResponse(Request $request)
{
return redirect()->back()
->withInput($request->only($this->username(), 'remember'))
->withErrors([
$this->username() => Lang::get('auth.failed'),
]);
}
public function username()
{
return 'email';
}
public function logout(Request $request)
{
$this->guard()->logout();
$request->session()->flush();
$request->session()->regenerate();
return redirect('/');
}
protected function guard()
{
return Auth::guard();
}
}
你可以这样做
protected function credentials(Request $request)
{
$c = $request->only($this->username(), 'password');
return array_merge($c, ['active' => true]);
}
有关更多信息,请访问共享您用于身份验证的代码users@GuyS请查看已编辑的问题。请查看此处需要添加的
使用照亮\Http\Request
沿此方法覆盖。很好的解决方案。@MASh请让我知道您所做的更改,以便我可以将它们放在这里,以备将来操作时使用……:)