Php laravel使用Eloquent auth获取当前登录用户的id

Php laravel使用Eloquent auth获取当前登录用户的id,php,authentication,laravel-4,eloquent,Php,Authentication,Laravel 4,Eloquent,我在web应用程序中使用的是Laravel4.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(['

我在web应用程序中使用的是
Laravel4.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
中,我有一个方法index(),我试图从中获取当前登录用户的id。从登录页面重定向后,我可以获得用户的id,但当我多次刷新我的个人资料页面时,我丢失了用户的id,他似乎要注销,我只得到“对不起”。 这是我的索引方法:

if (Auth::check()){

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


        }else{
            echo 'sorry';
        }
我怎样才能解决这个问题?它与
laravel auth
雄辩的
有关吗?如何获取登录用户的id

--编辑---
如果我只使用
Route::post
我不会遇到这个问题,我可以很容易地获得用户id。但是我想使用
Route:Resource
和索引、编辑、更新方法。

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

在app/config/session中lifetime和expire_on_close的值?'lifetime'=>120和'expire_on_close'=>false,你好,Ghada,为什么要在UserController中将变量$user设置为Auth::user()?它似乎确实被使用了。我很想帮忙,但是需要更多关于你想要完成什么的信息。你通常不会有一个管理区的路由过滤器吗?也就是说,如果您没有登录,您甚至不能访问Admin Index或AdminController方法。对吗?没错。我正在使用路由筛选器。他应该登录以访问网页。我需要在我的页面中显示用户信息,以便我使用
$user=Auth::user()
您能将其增加到1200吗?我仍然有相同的问题