В файле конфигурации пакета я установил корневой путь и использую промежуточное программное обеспечение для динамического изменения. настройки файловой системы для каждого пользователя. Однако, когда система работает, пользователи по-прежнему могут получить доступ ко всему корневому каталогу.
config/filesystems.php
Код: Выделить всё
'disks' => [
'private' => [
'driver' => 'local',
'root' => storage_path('app/private'),
'url' => env('APP_URL').'/storage',
'visibility' => 'private',
'throw' => false,
],
Код: Выделить всё
/**
* 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