几年前我开发了一个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;