2014-10-12 76 views
0

我在我的Web應用程序中使用Laravel 4.2,我試圖獲取當前登錄的用戶的ID。這是我在UserController.php中完成的。laravel獲取使用Eloquent身份驗證當前登錄用戶的ID

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 authEloquent有關?我如何獲取登錄用戶的ID?

--edit --- 如果我只是用我Route::post不明白這個問題,我可以很容易地得到用戶id.But我想用Route:Resource索引,編輯,更新方法。

+0

app/config/session中的lifetime和expire_on_close的值? – 2014-10-12 07:31:00

+0

'lifetime'=> 120 and'expire_on_close'=> false, – 2014-10-12 07:38:46

+0

嗨Ghada,你爲什麼要在UserController中將變量$ user設置爲Auth :: user()?它似乎被使用。我想提供幫助,但需要更多關於您想要完成的內容的信息。無論如何,你是否通常不會爲管理區域設置路由過濾器?即如果你沒有登錄,你甚至不應該能夠訪問管理索引或AdminController方法..好嗎? – 2014-10-12 10:09:42

回答

0

app/config/session的生存期定義會話生存期(顯然)以秒爲單位。所以你可以將它設置爲120以上,我認爲你的問題將得到解決。

+0

它已經是120,我有這個問題。 – 2014-10-12 07:48:39

+0

你可以請增加到1200可能 – 2014-10-12 07:49:53

+0

我增加,我仍然有同樣的問題 – 2014-10-12 07:52:34

相關問題