bars80081
Новичок
суть задачи:
есть прекрасный php-скрипт, который отлично работает сам по себе, так что и трогать не хочется. для использования положил в директорию public и отлично с ним работаешь.
но не хочется, чтобы каждый имел к нему доступ. то есть хочу открыть доступ к нему только авторизованным пользователям.
как?
просто добавление в config/packages/security.yaml
не работает. не работает даже если путь_к_директории_с_файлом является рабочим роутом. всё равно дайт доступ неавторизованному пользователю.
мне кажется, что всё-таки есть решение по данному вопросу?
источник задачи:
захотелось засунуть на сайт менеджер БД. найти соответствующий бандл не удалось (видимо, не могу задать правильный вопрос гуглу, устал перерывать стотысяч ссылок о создании подключения в БД). зато есть adminer. положил его на сайт и работай. однако, хочется прикрыть его дополнительно силами симфони. к сожалению, adminer не удаётся запихнуть в контроллер. так как ладно, он использует свой вывод, так он ещё сильно манипулирует буфером вывода. и симфони им играется. в итоге не удаётся их заинтегрировать:
всё равно ругается
спасибо
есть прекрасный php-скрипт, который отлично работает сам по себе, так что и трогать не хочется. для использования положил в директорию public и отлично с ним работаешь.
но не хочется, чтобы каждый имел к нему доступ. то есть хочу открыть доступ к нему только авторизованным пользователям.
как?
просто добавление в config/packages/security.yaml
Код:
security:
access_control:
- { path: ^путь_к_директории_с_файлом, role: ROLE_ADMIN }
мне кажется, что всё-таки есть решение по данному вопросу?
источник задачи:
захотелось засунуть на сайт менеджер БД. найти соответствующий бандл не удалось (видимо, не могу задать правильный вопрос гуглу, устал перерывать стотысяч ссылок о создании подключения в БД). зато есть adminer. положил его на сайт и работай. однако, хочется прикрыть его дополнительно силами симфони. к сожалению, adminer не удаётся запихнуть в контроллер. так как ладно, он использует свой вывод, так он ещё сильно манипулирует буфером вывода. и симфони им играется. в итоге не удаётся их заинтегрировать:
PHP:
class PageController extends AbstractController {
public function indexAction() {
ob_start();
$bef = ob_get_clean();
include_once(__DIR__ . '/../Lib/adminer-4.7.3-mysql.php');
$html = ob_get_clean();
return $this->render($html);
}
в целом, мне всё же хотелось бы получить ответ на вопрос: можно ли прикрыть свободный адрес силами симфони? ведь захочется запихнуть не только админер...Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at D:\OSPanel\domains\sym3\src\Service\DbadminerBundle\Lib\adminer-4.7.3-mysql.php:503)
спасибо