Как ограничить доступ пользователей к их собственным каталогам в alexusmai/Laravel-File-Manager?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как ограничить доступ пользователей к их собственным каталогам в alexusmai/Laravel-File-Manager?

Сообщение Anonymous »

Я разрабатываю систему управления файлами в Laravel, используя пакет alexusmai/laravel-file-manager. Моя цель — создать систему, похожую на Google Drive, где пользователи смогут управлять своими файлами. Для каждого пользователя я создаю уникальный каталог во время регистрации и сохраняю имя каталога в поле base_directory_name в таблице пользователей. Я хочу, чтобы пользователи могли получить доступ только к содержимому своего собственного каталога.
В файле конфигурации пакета я установил корневой путь и использую промежуточное программное обеспечение для динамического изменения. настройки файловой системы для каждого пользователя. Однако, когда система работает, пользователи по-прежнему могут получить доступ ко всему корневому каталогу.
config/filesystems.php

Код: Выделить всё

'disks' => [
'private' => [
'driver' => 'local',
'root' => storage_path('app/private'),
'url' => env('APP_URL').'/storage',
'visibility' => 'private',
'throw' => false,
],
config/file-manager.php

Код: Выделить всё

/**
* List of disk names that we want to use
* (from config/filesystems)
*/

'diskList' => ['private'],
мое промежуточное программное обеспечение:

Код: Выделить всё

    public function handle(Request $request, Closure $next): Response
{
if (Auth::guard("user")->check()) {
$userDirectory = storage_path("app/private/"). Auth::guard("user")->user()->base_directory_name;

Config::set('filesystems.disks.private.root', $userDirectory);
//dd(Config::get('filesystems.disks.private.root'));
}
return $next($request);
}
Примечания:
  • Если я вручную изменяю файл конфигурации, права доступа работают как и ожидалось, и пользователи могут видеть только свои собственные файлы.
  • После применения промежуточного программного обеспечения я использовал Config::get для проверки настроек и могу подтвердить, что конфигурация изменяется динамически во время выполнения. как задумано. Однако разрешения на доступ к файлам по-прежнему применяются неправильно.
Может ли кто-нибудь подсказать мне, как правильно обеспечить динамический доступ к каталогу для каждого пользователя? Я что-то упустил в конфигурации или настройке промежуточного программного обеспечения?
Буду очень признателен за любую помощь!

Подробнее здесь: https://stackoverflow.com/questions/791 ... vel-file-m
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»