2016-11-29 65 views
0

假設我們在public文件夾中有Forms目錄。限制訪問laravel的公共文件夾中的目錄僅供認證用戶使用

而現在我只想驗證用戶可以訪問,如果未經授權的用戶想要打開該子目錄或其子目錄之一(如圖像,視頻等)顯示的錯誤消息。

我加的路由組這樣的,但不能正常工作:

Route::group(['prefix' => 'Forms', 'middleware' => 'auth'], function() { 
     // what Can I do here ? 
}); 

我能爲那怎麼辦?

+0

用戶在「窗體」文件夾內會做什麼? – scottevans93

+0

@ scottevans93,其他一些子目錄包含我想要授權的用戶可以訪問的圖像和視頻 –

+0

您必須使用您的控制器爲他們提供服務,否則直接的HTTP訪問將不會受到您的Laravel Auth System – scottevans93

回答

1

如果你想隱藏用戶的內容,我會說你需要使用本地磁盤而不是公用文件夾。如果你想限制你可以使用通配符路線

爲前目錄看看這裏 https://laravel.com/docs/5.3/filesystem

依然。

Route::get('/forms/{path?}', function() { 
    if(!auth()->user()) { 
     return 'unauthorized'; 
    } 
    // if authenticated try to look for the file with requested path and return its content 
    return File::get(public_path(ltrim($_SERVER['REQUEST_URI'],'/'))); 
})->where(['path' => '.*']); 
相關問題