2014-03-19 63 views
1

我使用Sentry 2構建身份驗證系統。我面臨的問題是,我無法在用戶通過Sentry進行身份驗證並登錄之後爲用戶創建會話。這是我的控制器代碼:Sentry 2與Laravel的身份驗證工作流程

public function postLogin() 
{ 
    $credentials = array(
     'email' => Input::get('email'), 
     'password' => Input::get('password') 
    ); 

    try 
    { 
     $user = Sentry::authenticate($credentials, false); 
     if ($user) 
     { 
      if(Input::get('remember')=='true') 
       Sentry::loginAndRemember($user);  
     } 
    } 
    catch(\Exception $e) 
    { 
     return View::make('hello')->withErrors(array('login' => $e->getMessage())); 
    } 
    try 
    { 
     Sentry::login($user, false); 
    } 
    catch (Cartalyst\Sentry\Users\LoginRequiredException $e) 
    { 
     echo 'Login field is required.'; 
    } 
    catch (Cartalyst\Sentry\Users\UserNotActivatedException $e) 
    { 
     echo 'User not activated.'; 
    } 
    catch (Cartalyst\Sentry\Users\UserNotFoundException $e) 
    { 
     echo 'User not found.'; 
    } 
} 

我登錄後,要檢查如果用戶實際登錄的,我做的轉儲通過身份驗證的用戶詳細信息的另一個控制器動作:

public function index() 
{ 
    var_dump(Auth::user()); 
} 

的var_dump()返回null。我在這裏錯過了什麼?我是Laravel和Sentry的新手。任何幫助,將不勝感激!提前致謝!

回答

0

要訪問哨兵會話的用戶使用該 {{哨兵::的getUser()}}

驗證::用戶()返回laravel會話對象。

+0

是的,我明白了。謝謝! :) – Ananth