Php laravel使用Eloquent auth获取当前登录用户的id
我在web应用程序中使用的是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(['
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吗?我仍然有相同的问题