簡體   English   中英

Laravel 中的身份驗證和保護(保護路由)

[英]Authentication and guards (protect routes) in laravel

我有守衛'管理員'。

我怎么知道在 Laraver 守衛中作為多重身份驗證工作(我可以同時以用戶和管理員身份登錄)。

但是當我以管理員身份登錄並嘗試使用身份驗證中間件檢查頁面時出現關於 ERR_TOO_MANY_REDIRECTS 的錯誤時,我感到非常驚訝。 像 admin this 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');
});

如果我希望管理員擁有身份驗證用戶 + 管理員路由的所有訪問權限,我該如何解決此問題?

也許這對你有幫助

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

路由的多個中間件

您可以在Route::group聲明 2 個中間件。 例如:

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

暫無
暫無

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

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