Laravel 4认证&保护路线

时间:2013-11-26 15:29:46

标签: php authentication laravel

我在使用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');
});

1 个答案:

答案 0 :(得分:0)

传递给Auth :: try的数组中的

将关联索引'email'更改为'username'并尝试。

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