Laravel 4.2一段时间自动注销..如何解决这个问题?

时间:2015-05-28 07:39:55

标签: php laravel logout

我正在使用Laravel 4.2创建一个商业网站。我为管理仪表板和用户使用多个登录身份验证。

我的问题是:有时页面会自动注销而不会显示任何错误。我的登录代码如下。有什么想法吗?

public function userlogin()
{
  $input = Input::all();
  $rules = array(
    'email' => 'required|email',
    'password' => 'required'
    );
  $v = Validator::make($input, $rules);

  if($v->fails())
  {
    return Redirect::to('sign-in')->withInput()->withErrors($v);
  }

  $user = [
    'email' => Input::get('email'),
    'password' => Input::get('password'),
    'status' => 1
  ];

  if (Auth::user()->attempt($user)) {
    return Redirect::to( '/');
  } else {
    Session::flash('failmessage', ' Unable To login !');
    return Redirect::to('sign-in');
  }
}

public function userlogout()
{
  Auth::user()->logout();
  return Redirect::to('/');
}

2 个答案:

答案 0 :(得分:1)

在app / config / session.php中你有:

  

寿命

选项,允许您以分钟(而不是以秒为单位)设置会话过期时间

'lifetime' => 60,

表示会话将在一小时后过期。

此处还有一个设置:

'expire_on_close' => true,

决定浏览器关闭时会话是否过期。

尝试根据需要更改这些设置的值。这将有助于解决您的问题

答案 1 :(得分:0)

您可以执行Ashwini G所说的内容,或者您​​可以添加用户可以单击“记住我”按钮的功能,以便他不会在生命周期后退出

有关“记住我”选项的更多信息,请查看以下链接。

http://laravel.com/docs/4.2/security