如何禁用非管理员用户的 laravel-filemanager?

how to disable laravel-filemanager from non-admin users?

我的项目中有 laravel filemanager v1.7,它在管理员端运行良好,图像在前端也运行良好。但我的问题是任何注册用户(非管理员)或访问者都可以访问 laravel-filemanager 页面,方法是单击图像右键单击并在新的 window 中打开它,例如:

http://domain/laravel-filemanager/photos/1/593e3d9f3d8fb.jpg

如果删除 (photos/1/593e3d9f3d8fb.jpg) 他可以访问文件管理器。

我试图在中间件中更改 config/lfm.php,但我失败了....我如何才能从非管理员的任何用户禁用 LFM?

注意:我有一个名为 checkRole 的中间件,用于检查用户 table 中的 role_id。 我试着把它放在 lfm 中间件中,但它不起作用

有什么帮助或建议吗?

问候 萨米

您需要限制将 LFM 公开给非管理员用户的路由。我可能会创建一个单独的中间件,我可以在每个路由或每个路由组的基础上应用它来执行此检查并拒绝访问。

另一种方法是使用 Gates and/or 策略来限制访问。如果需要,您可以将其微调到个人用户权限。

感谢@btl

我编辑了 (vendor/unisharp/laravel-filemanager/src/routes.php)

来自 // 显示 LFM

直到//删除,

我把它们都放在里面了:

Route::group(['middleware' => ['auth', 'roles'], 'roles' => ['admin', 'supervisor']], function() {
...
});

问题解决:)