![](/img/trans.png)
[英]302 status is getting when submit form in laravel 5.5. After submit the form page is redirecting back
[英]Laravel 5.5 Getting 302 redirect error when redirecting user to homepage after login
我搜索了很多論壇,但在這里沒有發現我的錯誤。 我在laravel中不是很好,所以我確定我犯了一個錯誤,這對於更高級的開發人員來說是顯而易見的。 我的頁面是這樣的。 當新用戶首次進入該網站時,將無需登錄,並且用戶可以查看主頁。 然后,用戶注冊,並將被重定向到帶有主頁鏈接的電子郵件驗證頁面,但用戶不會自動登錄。 用戶確認電子郵件后,她可以登錄。登錄后,如果用戶是普通用戶,我希望將用戶重定向到主頁,如果用戶是Admin,則希望將用戶重定向到儀表板。 問題來了。 登錄后,我收到302重定向錯誤。 在下面,您可以看到我的路線和我編輯的其他控制器。 希望我能夠解釋這個問題。 感謝您的任何幫助。
我的web.php文件
Route::get('/', ['middleware'=>'web','uses'=>'HomeController@index']);
Route::get('/home', ['middleware'=>'auth','uses'=>'HomeController@after_login']);
Route::get('/search',['middleware'=>'web','uses'=>'HomeController@search']);
Route::get('/search-all-category',['middleware'=>'web','uses'=>'HomeController@search_all_category']);
Route::get('/register/register-search-cities',['middleware'=>'web','uses'=>'HomeController@register_search_cities']);
Route::post('/company-results',['middleware'=>'web','uses'=>'HomeController@search_companies']);
Route::get('/validate-email',function(){
return view('validate-email');
});
Route::get('/all', ['middleware'=>'guest','uses'=>'HomeController@index']);
Auth::routes();
我的LoginController.php
控制器,在這里我已經從AuthenticatesUsers.php
覆蓋了authenticated
函數:
// protected $redirectTo = '/home';
protected function authenticated( Request $request, $user ) {
if($user->isAdmin == '0'){
return redirect()->intended('/home');
}else if($user->isAdmin == '1'){
return redirect()->intended('dashboard.dashhome');
}else{
return redirect()->intended('/home');
}
}
這是我的HomeController.php
,它處理routes
:
public function index() {
$country = Country::all();
return view('/home',compact('country'));
}
public function after_login(){
$country = Country::all();
return view('/home',compact('country'));
}
您的密碼
if($user->isAdmin == '0'){
return redirect()->intended('/home');
}else if($user->isAdmin == '1'){
return redirect()->intended('dashboard.dashhome');
}else{
return redirect()->intended('/home');
}
可以這樣簡化(在您發表評論后,將非管理員重定向到/
因為否則它們將陷入循環中
if ($user->isAdmin){
return redirect()->intended('dashboard.dashhome');
} else {
return redirect()->intended('/'); // return to a route not behind auth middleware to avoid loop
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.