会话被覆盖

时间:2017-10-26 19:34:56

标签: php laravel-4

几年前我开发了一个Laravel 4应用程序,此后它还没有被破坏。用户突然看到其他用户的信息。基本上发生的是我使用Auth ::尝试检查用户,如果有效,我使用Auth :: user()来获取用户。发生的事情是只有一个会话被写入storage / sessions文件夹,每当新用户登录时,该会话都会被新值覆盖。因此,它将显示最后的人员数据。我在另一台服务器上使用了完全相同的解决方案,只要有人试图登录就会进行新的会话。

我的问题是为什么它只创建一个会话?我该如何解决这个问题呢?

它位于共享托管平台上,我假设有一个PHP更新或其他东西,有些东西已经破坏。如上所述,它已经工作多年,现在已经停止,这意味着它可能是一种配置。请你能帮帮我吗?

源代码:

类SessionsController扩展了BaseController {

/**
 * Display a listing of the resource.
 *
 * @return Response
 */
public function index()
{
    //
}

/**
 * Show the form for creating a new resource.
 *
 * @return Response
 */
public function create()
{
    if (Auth::check()) return Redirect::to('/dashboard');
    return View::make('login');
}

/**
 * Store a newly created resource in storage.
 *
 * @return Response
 */
public function store()
{
    if (Auth::attempt(array('email'=>Input::get('email'),'password'=>Input::get('password'),'usertype_id'=>'2'))){
        return Redirect::to('/dashboard');
    }

    return Redirect::back()->withInput()->with('flash_error', 'Login credentials are incorrect.');
}

/**
 * Display the specified resource.
 *
 * @param  int  $id
 * @return Response
 */
public function show($id)
{
    //
}

/**
 * Show the form for editing the specified resource.
 *
 * @param  int  $id
 * @return Response
 */
public function edit($id)
{
    //
}

/**
 * Update the specified resource in storage.
 *
 * @param  int  $id
 * @return Response
 */
public function update($id)
{
    //
}

/**
 * Remove the specified resource from storage.
 *
 * @param  int  $id
 * @return Response
 */
public function destroy()
{
    Auth::logout();
    return Redirect::to('/login');
}

}

然后我在其他控制器中使用它如下:

$ student = User :: find(Auth :: user() - > id) - > student;

0 个答案:

没有答案