与Laravel合作并需要一个解决方案。
记住我的函数状态的文档需要将'true'传递给Auth方法才能工作。
根据文档:
if (Auth::attempt($userData, true))
{
return Redirect::to('/');
}
虽然有效,但我需要检查用户是否已选择记住他们的帐户。
我不确定在哪里,但有一段时间我将此作为解决方案:
if (Auth::attempt($userData, ($data['rememberme'] == 'on') ? true : false))
{
return Redirect::to('/');
}
由于没有在数据库中设置记忆我令牌,因此无效。
如果选中复选框,有关如何将true传递给Auth方法的任何指导?我确定我可以进行基本检查以查看值,然后设置一个真/假的变量并将其放入方法中。但我确定必须有更好的方法吗?
答案 0 :(得分:0)
您的控制器应该是这样的记忆标记变量:
public function postSignin()
{
$remember = (Input::has('remember_me')) ? true : false;
if (Auth::attempt(array('email'=>Input::get('email'), 'password'=>Input::get('password'), 'active'=>0))) {
return Redirect::to('users/signin')
->with('message','Please activate your account to log in');
}
if (Auth::attempt(array('email'=>Input::get('email'), 'password'=>Input::get('password'), 'active'=>1),$remember)) {
return Redirect::to('/')
->with('message','Thanks for signing in');
}
return Redirect::to('users/signin')
->with('message','Your Email/Password combination was incorrect');
}
将复选框输入设置为
{{ Form::checkbox('remember_me') }}
我觉得应该有用..让我知道如果你有任何麻烦。感谢