[英]define routes for directories in public laravel folder
我在public
laravel文件夾中有一個名為fileManager
目錄。 現在,我想通過中間件控制對它的訪問,以便未簽名或未登錄的用戶無法直接訪問它。
默認情況下,任何用戶都可以在瀏覽器中鍵入目錄名稱並導航到該目錄。 我希望能夠定義一個可以應用和認證中間件的路由:
Route::get('/fileManager', ['middleware' => 'auth', function () {
//
}]);
這不僅是我在公用文件夾中有許多目錄,也許我想控制用戶對這些目錄的訪問。
我怎樣才能做到這一點 ?
對於創建中間件,在文件中創建類
應用/ http /中間件
創建后
將數組添加到kernel.php您的類
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'newMiddleware' => pahttoclass
];
有很多方法可以做到這一點。 您可以選擇任何喜歡的人。 但是我總是在每個controller
使用__construct()
方法。 只需在控制器中寫入該塊。
public function __construct()
{
$this->middleware('auth');
}
它將僅保護該controller
所有methods
免受未經授權的用戶的侵害。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.