簡體   English   中英

LARAVEL 5.4在中間件上的作用

[英]LARAVEL 5.4 ROLE ON MIDDLEWARE

我正在嘗試使用中間件在路由上設置我的角色,但是每次我登錄到系統時,它都會重定向回我的登錄視圖。

這是我的路線

Route::group(['middleware' => ['auth','admin']],function(){
Route::get('dashboard','RouteController@adminDashboard');
  Route::get('admin',function(){
    return 'this is admin page';
  });
});

這是我的中間件

public function handle($request, Closure $next)
{
    if(Auth::User()->id_role == 1){
      return $next($request);
    }
    return redirect::to('dashboard');
}

你們可以幫我嗎

如果登錄成功,則中間件檢查ID,如果ID為1,則返回下一個請求( $next($request); )。 您的重定向永遠不會發生。 所以接下來的請求被處理的adminDashboard在功能RouteController

您應該像這樣在RouteController返回視圖:

public function adminDashboard() {
    return view('your-path-to-your-dashboard');
}

並更改您的路線

Route::get('/', 'RouteController@adminDashboard');

您缺少初始斜杠。

Route::group(['middleware' => ['auth','admin']],function(){
  Route::get('/dashboard','RouteController@adminDashboard');
  Route::get('/admin',function(){
return 'this is admin page';

}); })

或者在您的控制器內部聲明一個構造函數,如下所示:

public function __contstruct(){
   $this->middleware('auth');
}

其次是平常的功能

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM