Это мой security.ymlInvalidConfigurationException с конфигурацией безопасности Symfony2
security:
providers:
in_memory:
memory: ~
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
admin_login:
pattern: ^/admin/login$
http_basic: ~
admin:
pattern: ^/admin
form_login:
login_path: /admin/login
check_path: /admin/loginCheck
account:
pattern: ^/account
http_basic: ~
# form_login:
# login_path: /login
# check_path: /loginCheck
main:
anonymous: ~
Все в порядке, но когда я изменяю брандмауэр ^/счета использовать form_login вместо http_basic, это выбросить некоторые исключения:
1/2 LogicException in MainConfiguration.php line 333: The check_path "/loginCheck" for login method "form_login" is not matched by the firewall pattern "^/account".
2/2 InvalidConfigurationException in BaseNode.php line 313: Invalid configuration for path "security.firewalls.account": The check_path "/loginCheck" for login method "form_login" is not matched by the firewall pattern "^/account".
Я знаю, что документация по Symfony2 рекомендуется использовать только один и только один главный брандмауэр, но эта конфигурация предназначена только для исследования нескольких брандмауэров.
Я думаю, что сценарий:
- Enter ^/админ, так как ^/администратор брандмауэра требует form_login поэтому перенаправляет ^/админ/входа в систему брандмауэра.
- ^/admin/login брандмауэр требует http_basic, поэтому пользователям необходимо ввести свое имя пользователя & пароль для просмотра формы ^/admin/login.
- Введите ^/счет, потому что брандмауэр ^/учетной записи требуется form_login поэтому перенаправляет ^/входа (основной брандмауэр)
Я не знаю, выше сценарий является правильным? Как исправить эту ошибку? Пожалуйста, помогите мне, спасибо!
Большое вам спасибо, он отлично работал! Компонент безопасности Symfony2 настолько сложный, я думаю, что команде Symfony2 необходимо добавить дополнительную документацию об этом компоненте. – Geany
Рад, что я мог бы помочь;) –