baks-dev / files-cdn
Модуль CDN файловых ресурсов
Installs: 15
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=8.2
- ext-gd: *
- symfony/expression-language: *
- symfony/monolog-bundle: *
- symfony/security-bundle: *
Requires (Dev)
- roave/security-advisories: dev-latest
- symfony/test-pack: ^1.0
README
Модуль CDN файловых ресурсов
Установка
$ composer require baks-dev/files-cdn
Настройки
Добавить директорию и установить права для загрузки файлов:
$ sudo mkdir <path_to_project>/public/upload $ chown -R unit:unit <path_to_project>/public/upload
Генерируем дайджест пароля:
$ php bin/console security:hash-password
В файле конфигурации <path_to_cdn_project>/config/packages/security.php
указываем настройку указав результат хеширования пароля
<user>
- пользователь<hash-password-result>
- результат хеширования пароля
<?php namespace Symfony\Component\DependencyInjection\Loader\Configurator; use Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface; use Symfony\Config\SecurityConfig; return static function(SecurityConfig $config) { $config->enableAuthenticatorManager(true); $config->firewall('dev') ->pattern('^/(_(profiler|wdt)|css|images|js)/') ->security(false) ; $config->passwordHasher(PasswordAuthenticatedUserInterface::class)->algorithm('bcrypt'); $config->provider('in_memory_users') ->memory() ->user('<user>') ->password('<hash-password-result>') ->roles(['ROLE_CDN']) ; $config->firewall('main') ->pattern('^/cdn/upload') ->provider('in_memory_users') ->httpBasic() ; };
В основном проекте в файле environment <path_to_cdn_project>/.env
указываем хост CDN и пароль для авторизации доступа
<user>
- пользователь<you-plain-password>
- тектсовое представление пароля
###> CDN ###
CDN_HOST=cdn.example.host
CDN_USER=<user>
CDN_PASS=<you-plain-password>
Лицензия
The MIT License (MIT). Обратитесь к Файлу лицензии за дополнительной информацией.