我在使用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', 'AdminController@getIndex');});
过滤器:
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 :(得分:0)
将关联索引'email'更改为'username'并尝试。
Auth::attempt(array('username' => Input::get('email'), 'password' => Input::get('password')));