Как войти только активных пользователей?


В подлинности, кроме данных, необходимых, чтобы войти в систему пользователя, я хочу, чтобы только те, которые находятся в состоянии ativo = 1, войдите, но не знаю, как сделать эту проверку.

Table user:

id
username
email
password
ativo

UserController

public function store()
{
      $userdata = array(
          'email'    => Input::get('email'),
          'password' => Input::get('password')
      );
      $rules = array(
          'email'    => 'required',
          'password' => 'required'
      );
      $message = array(
         'email.required'    => 'O :attribute é obrigatório.',
         'password.required' => 'A senha é obrigatória.'
        );
      $validator = Validator::make($userdata, $rules, $message);

     if ($validator->passes())
      {
       if (Auth::attempt($userdata))
          {
           return Redirect::to('')->with('success', 'You have logged in successfully');
          }
          else
          {
           return Redirect::route('admin.create')->withErrors(array('password' => 'Senha inválida'))->withInput(Input::except('password'));
          }
      }

  // Something went wrong.
  return Redirect::route('admin.create')->withErrors($validator)->withInput(Input::except('password'));

}

Author: Marco Souza, 2014-01-08

2 answers

Проходит третий параметр, который является соответствующий столбец состояния (включено или выключено, как пример activated):

 $userdata = array(  
      'email'     => Input::get('email'),  
      'password'  => Input::get('password'),  
      'activated' => 'A'  
  );  

Laravel добавит activated where в то время найти пользователя, если же она бездействует, не принесет.

 11
Author: Flávio H. Ferreira, 2014-01-08 10:32:21

Другой способ будет выглядеть следующим образом:

        if (Auth::attempt(array('username' => Input::get('username'), 'password' => Input::get('password')), Input::has('lembar') ? true : false)) {
            if(Auth::user()->status == TRUE) {
                return Redirect::intended('dashboard');
            } else {
                Auth::logout();
                return Redirect::route('entrar')->withErrors('Desculpe, mas o Usuário está desativado.');
            }

        } else {
            return Redirect::route('entrar')->withErrors('Usuário ou Senha Inválido.');
        }
 1
Author: Marcus Perrout, 2014-10-26 21:50:57