Как убедиться, что текущий домен существует в БД, прежде чем разрешить использование маршрутов? - PullRequest
0 голосов
/ 08 июня 2019

Я изо всех сил пытаюсь найти способ настроить многопользовательскую маршрутизацию с Symfony4 таким образом, чтобы у меня был основной веб-сайт и собственный домен для каждого пользователя (например, в стиле saas).Я хочу разрешить доступ к группе маршрутов только в том случае, если домен принадлежит пользователю, или просто вернуть 404.

Этого легко добиться в Laravel с группами маршрутов и промежуточным ПО, которое просто проверяет хостпротив БД, но я не могу понять это в Symfony.

После просмотра документов становится ясно, как я могу гарантировать, что контроллер используется только в том случае, если хост совпадает с чем-то, но я не могувыяснить, как я могу сравнить хост с БД и с легкостью применить его к группе контроллеров. (возможно, импортирует? Я не знаю)

/**
 * Class TestController
 * @package App\Controller
 * @Route(host="{domain}", requirements={
 *     "domain"=".+"
 * })
 */
class TestController
{
    /**
     * @Route("/")
     */
    public function main($domain)
    {
        return new Response(
            'Domain: ' . $domain
        );
    }
}

Это то, что я хочу, но янеобходимо убедиться, что домен является действительным, прежде чем попасть на маршруты.Также будет бонусом, если $ домен может быть заменен идентификатором пользователя, которому он принадлежит.

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