簡體   English   中英

在公共laravel文件夾中定義目錄的路由

[英]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.

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