这是非常标准的登录功能和验证,效果很好。但我也想检查用户是否处于活动状态。我在我的用户表中设置了一个列,将“活动”设置为 0 或 1。
public function post_login()
{
$input = Input::all();
$rules = array(
'email' => 'required|email',
'password' => 'required',
);
$validation = Validator::make($input, $rules);
if ($validation->fails())
{
return Redirect::to_route('login_user')
->with_errors($validation->errors)->with_input();
}
$credentials = array(
'username' => $input['email'],
'password' => $input['password'],
);
if (Auth::attempt($credentials))
{
// Set remember me cookie if the user checks the box
$remember = Input::get('remember');
if ( !empty($remember) )
{
Auth::login(Auth::user()->id, true);
}
return Redirect::home();
} else {
return Redirect::to_route('login_user')
->with('login_errors', true);
}
}
我已经尝试过这样的事情:
$is_active = Auth::user()->active;
if (!$is_active == 1)
{
echo "Account not activated";
}
但这只能在“身份验证尝试”if 语句中使用,此时用户凭据(电子邮件和密码)已经过验证。因此,即使用户帐户此时未处于活动状态,他们也已经登录。
我需要一种返回验证的方法,让他们知道他们仍然需要激活他们的帐户并检查他们的帐户是否在检查他们的电子邮件和通行证的同时设置。