Вопрос

Я хочу установить access_control Для всего, но не для шаблона /login (И, возможно, еще несколько маршрутов).

Поэтому я сначала установил путь для входа в систему, с ролью IS_AUTHENTICATED_ANONYMOUSLYАнкет Затем я установил путь для всего, с роли IS_AUTHENTICATED_FULLY.

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

Если я удалю правила access_control, у меня нет /blog/.* и с роли: IS_AUTHENTICATED_FULLY, он работает нормально, форма входа в систему такая же, как и должно быть.

Итак, моя конфигурация "Вы должны быть аутентифицированы везде, кроме здесь" не работает.

Это то, что я пытался сделать, когда форма входа в систему генерируется дважды:

access_control:
   - { path: /login, role: IS_AUTHENTICATED_ANONYMOUSLY }
   - { path: /.*, role: IS_AUTHENTICATED_FULLY }

Есть ли у кого -нибудь хорошие примеры, как настроить такое правило?

Это было полезно?

Решение

Поэтому я получил ответ :) Так что, если у кого -то есть эта проблема, вы также должны позволить _wdt, и _profiler доступен анонимно :)

 access_control:

       - { path: /_wdt/.*, role: IS_AUTHENTICATED_ANONYMOUSLY }
       - { path: /_profiler/.*, role: IS_AUTHENTICATED_ANONYMOUSLY }
       - { path: /login, role: IS_AUTHENTICATED_ANONYMOUSLY }
       - { path: /.*, role: IS_AUTHENTICATED_FULLY }

Другие советы

Не забудьте добавить этот брандмауэр:

firewalls:
    dev:
        pattern:  ^/(_(profiler|wdt)|css|images|js)/
        security: false
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top