1

在我的 CMS 中,我使用Zizaco/entrust/作为 ACL 管理器,使用 laravel-elfinder作为文件管理器和上传器。

两者都工作正常,没有任何问题。

现在,我想限制具有指定角色和权限的用户访问 elfinder 管理他们上传或列出文件的文件夹。

在全局的 elfinder 配置文件中,我们可以dir像这样设置存储图像的位置(相对于公共):

return array(
    'dir' => ['upload']
);

在这种情况下,任何角色的所有用户都可以访问它并进行上传或其他常用文件操作。

但我想,用户登录后,如果他想 elfinder,只能访问与她的用户名同名的文件夹,而他不能看到或访问其他用户文件夹。

可能吗?如果是,请指导我。

4

1 回答 1

2

根据@Froxz 的指导,我可以这样解决问题:

在只允许管理员用户使用 CMS 的中间件中,我写道:

$username   =   Auth::user()->username;

if (!File::exists(public_path('upload').'/'.$username)) {
    File::makeDirectory(public_path('upload').'/'.$username,0775);
}
Config::set('elfinder.dir',["upload/$username"]);

首先,我创建了一个与 user 用户名相同的目录,然后将direlfinder 配置选项设置为该文件夹路径。

于 2016-04-25T18:47:57.697 回答