laravel使用Eloquent身份验证获取当前登录用户的ID

时间:2014-10-12 07:20:28

标签: php authentication laravel-4 eloquent

我在我的网络应用程序中使用Laravel 4.2,我正在尝试获取当前登录用户的ID。这就是我在UserController.php中完成的工作。

if(Auth::attempt($credentials)){

  $user = Auth::user();
  return Redirect::to('admin/profile');

 }else{
      return Redirect::to('login');;
     }

这是我的route.php

Route::group(['prefix' => 'admin'], function()
 {
   Route::resource('profile', 'AdminController', ['as'=>'package']);

  });

现在在AdminController.php我有方法索引(),我正在尝试获取用户当前loged的id。从登录页面重定向后,我可以获得用户的ID,但是当我多次刷新我的个人资料页面时,我丢失了用户的ID并且他似乎退出了我只是'抱歉'。 这是我的索引方法:

if (Auth::check()){

           echo 'ok';
           echo $id = Auth::user()->id;


        }else{
            echo 'sorry';
        }

我该如何解决?它与laravel auth Eloquent有关吗?如何获取登录用户的ID?

- 编辑--- 如果我只是使用Route::post我没有遇到此问题,我可以轻松获取用户ID。但我想将Route:Resource用于索引,编辑,更新方法。

1 个答案:

答案 0 :(得分:0)

app/config/session中的生命周期定义了会话生存期(显然),以秒为单位。所以你可以设置它超过120,我认为你的问题将得到解决。