Laravel 4身份验证登录问题

时间:2014-05-29 19:05:00

标签: redirect login laravel

在我的Laravel登录路线中,我有以下代码:

Route::get('/login', function() {
    $credentials = Input::only('username', 'password');
    if (Auth::attempt($credentials)) {
        return Redirect::intended('/');
    }
    return Redirect::to('login');
});

当我尝试访问/login时,我得到一个"网页有一个重定向循环"错误。我该如何解决这个问题?

TIA - Joe

1 个答案:

答案 0 :(得分:0)

看看你的逻辑,如果用户的凭据无效,那么他们将被重定向到/ login,这将尝试再次验证他们的凭据,从而导致无限循环。您应该将/ login分成一个帖子和一个get路由来防止这种情况发生。在您提交登录表单的视图中,应该使用POST发送。

Route::get('/login', function() {
   //do nothing here, just return the view for the login form
});

Route::post('/login', function() {
    $credentials = Input::only('username', 'password');
    if (Auth::attempt($credentials)) {
        return Redirect::intended('/');
    }
    return Redirect::to('login');
});