Php 为公用laravel文件夹中的目录定义路由
我在Php 为公用laravel文件夹中的目录定义路由,php,laravel,Php,Laravel,我在publiclaravel文件夹中有一个名为fileManager的目录。现在我想通过中间件控制对它的访问,以便未签名或未登录的用户不能直接访问它 默认情况下,任何用户都可以在浏览器中键入目录名并导航到它。 我希望能够定义这样一个路由,它可以应用和验证中间件: Route::get('/fileManager', ['middleware' => 'auth', function () { // }]); 这不仅仅是,我在公用文件夹中有许多目录,可能我想控制用户对这些目录的访
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
];
有很多方法可以做到这一点。你可以选择任何你喜欢的人。但是我总是在每个
控制器中使用\uu construct()
方法。只需在控制器中写入此块
public function __construct()
{
$this->middleware('auth');
}
它将保护所有方法
仅在此控制器中
不被未经授权的用户使用。我认为您应该将这些目录移动到存储
目录`并根据请求发送响应。我认为你们不能限制对公用文件夹的访问。我的问题不是关于定义中间件,我的问题不是关于定义中间件