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