Search code examples
laravellaravel-5laravel-authorization

laravel 5.2 user login with active status


hi every one i am using laravel 5.2 default auth but i want that the user must only be logged in with active status.

https://laravel.com/docs/5.2/authentication

in this link they given the method like the following

if (Auth::attempt(['email' => $email, 'password' => $password, 'active' => 1])) {
    // The user is active, not suspended, and exists.
}

but I did not find this where it is located in laravel 5.2.

I searched but the solutions are for previous versions and not for 5.2.

So please help me to login the users that has active status only so give me laravel 5.2 not of 5.1 or previous versions built in or custom solution to solve the problem


Solution

  • Assuming you are using the default auth setup, you can override the getCredentials method on the AuthController, which comes from the AuthenticatesUsers trait.

    protected function getCredentials(Illuminate\Http\Request $request)
    {
        return $request->only($this->loginUsername(), 'password') + ['active' => 1];
    }
    

    That method returns the credentials array that is passed to Auth::attempt in the login method of AuthController. As other people have mentioned you will need to have a active field on your users table.