2017-12-14 1 views
1

I definiert sind zwei verschiedene Wachen in auth.php-Datei wie folgt:ähnliche Route in Gruppe Routen mit verschiedenen Wachen in Laravel

'guards' => [ 
      'web' => [ 
       'driver' => 'session', 
       'provider' => 'users', 
      ], 
      'website' => [ 
       'driver' => 'session', 
       'provider' => 'websites', 
      ] 
] 

Es gibt zwei verschiedene Abschnitte Route in web.php Routen. eine für website admn und andere für normale benutzer das ist ein Mitglied dieser Websites. dies wie:

Route::prefix('/website/{website}')->middleware('auth:website')->group(function() { 

      Route::group(['prefix' => 'banner_ads'], function() { 
       Route::get('banner_adsDatatable', ['as' => 'banner_adsDatatable', 'uses' => '[email protected]_adsDatatable']); 
      }); 
      Route::resource('/banner_ads', 'BannerAdsController'); 

    Route::prefix('/member/{member}')->middleware('auth:web')->group(function() { 

      Route::group(['prefix' => 'banner_ads'], function() { 
       Route::get('banner_adsDatatable', ['as' => 'banner_adsDatatable', 'uses' => '[email protected]_adsDatatable']); 
      }); 
      Route::resource('/banner_ads', 'BannerAdsController'); 

    }); 
}); 

Problem ist, dass ich eine Ressourcensteuerung (Bannerwerbung), die mit den Benutzern (Website-Administratoren und Mitglieder) geteilt wird. Wie Sie sehen können, muss ich es zweimal hinzufügen.

Aber beacause für normalen Benutzer habe ich banner ads Controller wieder definiert, wenn ich banner_ads.update zum Beispiel immer wieder unAuthenticated user aufrufen.

Ich weiß nicht, was ich tun kann, um dieses Problem zu lösen.

Antwort

0

Scheint wie Ihre auth:web Middleware ist innerhalb auth:website. Dies ist im Grunde die Suche nach einem authentifizierten Administrator, der versucht, auf die Routen eines authentifizierten Benutzers zuzugreifen.

Sie versuchen, als normaler Benutzer auf Routen zuzugreifen. Es funktioniert also nicht. Nur Code mit diesem ersetzen:

Route::prefix('/website/{website}')->middleware('auth:website')->group(function() { 

        Route::group(['prefix' => 'banner_ads'], function() { 
         Route::get('banner_adsDatatable', ['as' => 'banner_adsDatatable', 'uses' => '[email protected]_adsDatatable']); 
        }); 
        Route::resource('/banner_ads', 'BannerAdsController'); 

    }); 

Route::prefix('/member/{member}')->middleware('auth:web')->group(function() { 



      Route::group(['prefix' => 'banner_ads'], function() { 
         Route::get('banner_adsDatatable', ['as' => 'banner_adsDatatable', 'uses' => '[email protected]_adsDatatable']); 
        }); 
        Route::resource('/banner_ads', 'BannerAdsController'); 

      }); 
+0

Aber '/ Mitglied/{Mitglied}' sollte eine Unter der Website-Verzeichnis gesetzt sein –

+0

Sie haben eine Idee? –

Verwandte Themen