Php laravel中的身份验证和防护(保护路由)

Php laravel中的身份验证和防护(保护路由),php,laravel,authentication,laravel-5,Php,Laravel,Authentication,Laravel 5,我有警卫“管理员” 我知道如何在Laraver guard中以多重身份工作(我可以同时以用户和管理员身份登录) 但是当我以管理员的身份登录并尝试使用auth中间件检查页面时,当我出现关于ERR_TOO_许多_重定向的错误时,我感到非常惊讶。像管理员这样没有身份验证用户没有身份验证? 有这样的代码吗 Route::group([ 'namespace' => 'Shop','middleware' => ['auth'], 'prefix' => 'shop'], functio

我有警卫“管理员”

我知道如何在Laraver guard中以多重身份工作(我可以同时以用户和管理员身份登录)

但是当我以管理员的身份登录并尝试使用auth中间件检查页面时,当我出现关于ERR_TOO_许多_重定向的错误时,我感到非常惊讶。像管理员这样没有身份验证用户没有身份验证? 有这样的代码吗

Route::group([ 'namespace' => 'Shop','middleware' => ['auth'], 'prefix' => 'shop'], function () {
    Route::get('/', 'MainController@index')->name('shop');
    Route::get('/search', 'MainController@search')->name('shop.search');
    Route::get('/ajax-search', 'MainController@ajaxSearch')->name('shop.ajax-search');
    Route::get('autocomplete', 'MainController@autocomplete')->name('shop.autocomplete');
    Route::get('/searchbyname', 'MainController@searchbyname')->name('shop.searchbyname');


});
Route::group(['prefix' => 'cart','middleware' => ['auth:admin'], 'namespace' => 'Shop'], function () {
    Route::get('/','CartController@index')->name('shop.cart');
    Route::get('/add','CartController@add')->name('cart.add');
    Route::get('/details','CartController@details')->name('cart.details');
    Route::delete('/{id}','CartController@delete')->name('cart.delete');
});
如果我想让管理员拥有身份验证用户+管理员路由的所有访问权限,如何解决此问题?

也许这对您有所帮助

Route::get('/', function () {
...})->middleware('first', 'second');

您可以在
Route::group
中声明两个中间件。例如:

Route::group([ 'namespace' => 'Shop','middleware' => ['auth', 'auth:admin'], 'prefix' => 'shop'], function () {
    ...
});