【问题标题】:Authentication and guards (protect routes) in laravellaravel 中的身份验证和保护(保护路由)
【发布时间】:2020-05-10 12:58:45
【问题描述】:

我有守卫“管理员”。

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

但是当我以管理员身份登录并尝试使用 auth 中间件检查页面时出现关于 ERR_TOO_MANY_REDIRECTS 的错误时,我感到非常惊讶。像 admin 这个 si no auth user no auth? 有这样的代码

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');
});

如果我希望该管理员拥有身份验证用户 + 管理员路由的所有访问权限,我该如何解决此问题?

【问题讨论】:

    标签: php laravel authentication laravel-5


    【解决方案1】:

    也许这对你有帮助

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

    multiple middleware to the route

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2013-12-11
        • 2021-12-16
        • 2021-11-07
        • 1970-01-01
        • 2013-03-27
        • 2020-07-01
        • 2021-03-14
        • 2018-05-21
        • 1970-01-01
        相关资源
        最近更新 更多