Просто создайте одно приложение, создайте AdminBundle
или BackendBundle
или что-то еще для вашего проекта, в котором есть все инструменты, которые вам понадобятся в бэкэнде, и используйте брандмауэры и списки контроля доступа в security.yml
для создания отдельных маршруты для двоих.
Нет необходимости создавать отдельные каталоги приложений, связываться с консольным скриптом или чем-то подобным. По умолчанию Symfony знает, как найти сущности и другие ресурсы для любого зарегистрированного пакета, поэтому вы сможете легко обмениваться ими.
Эта запись в документации о безопасности - хорошее место для начала изучения контроля доступа и брандмауэров. Вот краткий пример того, как выглядит моя конфигурация безопасности:
firewalls:
main:
pattern: /.*
anonymous: true
form_login: true
access_control:
- { path: /admin/.*, roles: ROLE_ADMIN }
- { path: /.*, roles: IS_AUTHENTICATED_ANONYMOUSLY }
Если вы хотите полностью разделить аутентификацию для / и / admin, создайте новый брандмауэр администратора: брандмауэры не передают друг другу информацию об аутентификации, поэтому вы можете отслеживать пользователей и их сеансы отдельно, если хотите.