Authentication Laravel 4,如何根据用户凭据和隐藏输入发送不同的flash消息

Authentication Laravel 4,如何根据用户凭据和隐藏输入发送不同的flash消息,authentication,login,laravel,laravel-4,message,Authentication,Login,Laravel,Laravel 4,Message,我试图在用户使用Laravel 4.1登录应用程序时检查用户帐户的状态 $attempt = Auth::attempt(array('email' => $input['email'], 'password' => $input['password'], 'active' => $input['active']), true); if($attempt) return Redirect::route('photos.index'); return Redirect::ba

我试图在用户使用Laravel 4.1登录应用程序时检查用户帐户的状态

$attempt = Auth::attempt(array('email' => $input['email'], 'password' => $input['password'], 'active'
=> $input['active']), true);

if($attempt) return Redirect::route('photos.index');

return Redirect::back()->withInput()->with('message', 'Your email or password are incorrect.');
我正在使用一个隐藏输入“active”来检查用户帐户是否仍然处于活动状态。这个很好用。但是,如果此检查失败,用户将看到在输入错误凭据时显示的相同闪存消息。我如何向用户发送第二条flash消息,说明即使他输入了正确的凭据,他的帐户也不再处于活动状态

任何帮助都将不胜感激

谢谢

如果
Auth::trunt()
失败,您可以检查它是否在没有活动帐户的情况下成功

$trunt=Auth::trunt(数组('email'=>$input['email'],'password'=>$input['password'],'active'
=>$input['active'],true);
if($trunt)返回Redirect::route('photos.index');
//检查凭据是否正确,但帐户未处于活动状态
if(Auth::validate(数组('email'=>$input['email'],'password'=>$input['password']))
{
//有效但不活动
return Redirect::back()->withInput()->with('message','Account not active');
}
return Redirect::back()->withInput()->with('message','您的电子邮件或密码不正确');

真棒的答案!非常感谢你!有一件事。您能简单地向我解释一下Auth::trunt和Auth::validate之间的区别吗?
Auth::validate
将只验证登录名。它不记得用户已登录
Auth::trunt
将保持用户登录,以便您可以使用
Auth::check()
Auth::user()