在我的Laravel登录路线中,我有以下代码:
Route::get('/login', function() {
$credentials = Input::only('username', 'password');
if (Auth::attempt($credentials)) {
return Redirect::intended('/');
}
return Redirect::to('login');
});
当我尝试访问/login
时,我得到一个"网页有一个重定向循环"错误。我该如何解决这个问题?
TIA - Joe
答案 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');
});