создать определенную папку для загрузки на основе роли пользователя и ограничить доступ к другой папке в laravel elfinder

В моей CMS я использую Zizaco / доверьте / в качестве менеджера ACL и Laravel-elfinder в качестве файлового менеджера и загрузчика.

Оба работают нормально и не имеют никаких проблем.

Теперь я хочу ограничить доступ пользователей с указанными ролями и разрешениями к папкам, которые elfinder управляет ими для загрузки или просмотра файлов.

Глобально в файле конфигурации elfinder мы можем установить dir где хранить изображения (по отношению к общественности), как это:

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

В этом случае все пользователи с любыми ролями могут получить к нему доступ и загрузить или выполнить другие операции с файлом commom.

Но я хочу, чтобы после входа в систему пользователь, если он хочет elfinder, мог только получить доступ к папке с тем же именем, что и ее имя пользователя, и он не может видеть или получить доступ к другой папке пользователя.

Является ли это возможным? если да, пожалуйста, направьте меня.

0

Решение

Согласно руководству @Froxz, я мог бы решить проблему следующим образом:

В Middleware, который позволяет работать только с 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"]);

Сначала я создал каталог с тем же именем пользователя, а затем установил dir возможность конфигурации elfinder для этого пути к папке.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]