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请让我知道您所做的更改,以便我可以将它们放在这里,以备将来操作时使用……:)