【发布时间】:2017-12-15 04:38:08
【问题描述】:
我在auth.php 文件中定义了两个不同的守卫,如下所示:
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'website' => [
'driver' => 'session',
'provider' => 'websites',
]
]
web.php 路由中有两个不同的部分路由。一个用于网站 admn,另一个用于作为这些网站成员的普通用户。像这样:
Route::prefix('/website/{website}')->middleware('auth:website')->group(function () {
Route::group(['prefix' => 'banner_ads'], function () {
Route::get('banner_adsDatatable', ['as' => 'banner_adsDatatable', 'uses' => 'BannerAdsController@banner_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' => 'BannerAdsController@banner_adsDatatable']);
});
Route::resource('/banner_ads', 'BannerAdsController');
});
});
问题是我有一个与用户(网站管理员和成员)共享的资源控制器(横幅广告)。如您所见,我必须添加两次。
但是因为对于普通用户我再次定义了banner ads 控制器,例如当我调用banner_ads.update 时总是返回unAuthenticated user。
我不知道我能做些什么来解决这个问题。
【问题讨论】:
标签: php laravel laravel-5.5