Приложение Symfony One — несколько поддоменов

я хочу добиться следующего в приложении Symfony 3. Допустим, у меня есть 2 зоны ограниченного доступа для пользователей и администраторов.

Пользователи должны иметь доступ к своей области на user.mydomain.com, а администраторы должны иметь доступ к admin.mydomain.com.

У меня есть вопрос к нему, надеюсь, кто-то может ответить на них.

У обоих будут одинаковые маршруты, такие как /login, /register и /dashboard.

Можно ли добиться этого в одном приложении?

Например, если пользователь переходит на user.mydomain.com/login, он должен иметь возможность войти в систему как пользователь, а не как администратор.

Пока администратор заходит на admin.mydomain.com/login, он может войти в систему только как администратор.

Я надеюсь, что понятно, что я имею в виду, и что кто-то может опубликовать несколько ссылок на документы или учебные пособия или привести пример.

Был бы очень признателен за инструкцию.


person Community    schedule 10.05.2017    source источник


Ответы (2)


Я думаю, вы ищете http://symfony.com/doc/current/routing/hostname_pattern.html

Вам все еще нужно будет проверять каждый случай пользователя или администратора. Однако, очевидно, невозможно узнать, является ли пользователь администратором, прежде чем войти в систему и фактически проверить свои роли, поэтому, если бы это зависело от меня, просто сделайте общий логин (который вы могли бы показать на обоих доменах) и разрешите доступ (перенаправьте после входа в систему) в зависимости от ролей и их эквивалентов имени хоста.

С уважением

person Jenne    schedule 10.05.2017
comment
Большое спасибо за ответ. это тоже было решение, которое я понял. просто хотел проверить, на правильном ли я пути :) - person ; 10.05.2017

Вы можете использовать разные пути/домены в маршрутизации, поэтому я попытаюсь создать прослушиватель и подключить его (используя события) к основному запросу.

В этом слушателе я бы проверил, кто зарегистрирован, и перенаправил его на правильный маршрут.

Несколько лет назад я был создан слушателем для изменения пути к кешу изображений (liipimaginebundle), знаю, что это не то же самое, но это может дать вам представление

https://gist.github.com/poznet/842ae820a230ba982a66f854549b0e2b

person Michał G    schedule 10.05.2017