Простая страница администратора: Symfony2

Я думаю о создании страницы администратора с формами для изменения, удаления и добавления контента на простые страницы сайта. Что бы вы посоветовали мне подойти к этому в Symfony2?

Должен ли я создать новый Bundle или просто новое действие в том же контроллере, где все остальные страницы.

Я слышал об этом SonataAdmin, но я не уверен, что мне нужно что-то такое сложное. Моя страница администратора будет содержать только несколько форм для изменения некоторых данных, которые хранятся на сайте. Мне не нужна функциональность CMS для создания страниц или постов.

Все, что я хочу, это простая, безопасная страница администратора и знать, как в настоящее время эта проблема решена.

0

Решение

Просто создайте что-то вроде AdminBundle и создайте там свои формы.
Защитите свои маршруты, так что вам нужно войти в систему, чтобы получить доступ к этим маршрутам.

SonataAdmin очень много для такой работы.

Пример защищенной функции, где вы должны войти в систему как администратор:

 /**
* @Route("/", name="homepage", name="homepage")
* @Route("/{_locale}", name="homepage", name="homepage")
* @Security("has_role('ROLE_ADMIN')")
* @Template("ProdacomMainBundle:Main:index.html.twig")
*/
public function indexAction() {
return array();
}
0

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

Похоже, вам действительно не нужен SonataAdminBundle. Это огромно и иногда трудно понять. Таким образом, для такой функциональности вы можете создать некоторую защищенную область в вашей маршрутизации и использовать для доступа к страницам управления. Или вы можете реализовать простую аутентификацию с жестко закодированными (внутри конфигурационных файлов) учетными данными (смотрите подробное описание здесь: http://symfony.com/doc/current/book/security.html) и показать аутентифицированному пользователю дополнительные элементы на страницах (формы, кнопки и т. д.). Это действительно зависит от ваших пожеланий. Я думаю, что вы должны переосмыслить все, что у вас есть, и просто решить, какой путь вам удобнее.

0

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