2013-11-26 73 views
0

我有一些Laravel 4身份驗證的問題&受保護的路線......我的問題是,我似乎一直在重定向回登錄頁面,而不是在輸入正確憑證後進入管理頁面。Laravel 4身份驗證和受保護的路線

我以前測試過,HomeController中的登錄功能的身份驗證工作是通過更改Auth :: Attempt來返回「是」,如果登錄憑據是準確的。

所以,我相信這可能是保護路線的問題。

希望你能幫助我更好地理解。謝謝!

下面是我的代碼:

的HomeController:

 public function postLogin() 
    { 
      $input = Input::all(); 

      $rules = array('email' => 'required', 'password' => 'required'); 

      $v = Validator::make($input, $rules); 

      if($v->fails()) 
      { 

        return Redirect::to('login')->withErrors($v); 

      } else { 


        if(Auth::attempt(array('email' => Input::get('email'), 'password' => Input::get('password')))) 
        { 

          return Redirect::to('admin'); 

        } else { 

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

路線:

Route::group(array('before' => 'auth'), function(){ 

Route::get('admin', '[email protected]');}); 

過濾器:

Route::filter('auth', function() 
{ 
    if (Auth::guest()) return Redirect::to('login'); 
}); 


Route::filter('auth.basic', function() 
{ 
    return Auth::basic(); 
}); 

Route::filter('guest', function() 
{ 
    if (Auth::check()) return Redirect::to('admin'); 
}); 

回答

0
陣列內

被傳遞到驗證::嘗試cha將聯合索引'email'改爲'用戶名'並嘗試。

Auth::attempt(array('username' => Input::get('email'), 'password' => Input::get('password')));