Я создал пакет с именем «Пользователь». В общей маршрутизации я добавил/пользователь на каждый URL UserBundle. Так, например, когда я определяю маршрут/список в UserBundle, реальный путь равен http://myapp.loc/user/list.Безопасность в Symfony2
Я пытаюсь заставить пользователя войти в систему, чтобы использовать этот сайт, я это делаю:
security:
firewalls:
login_firewall:
pattern: ^/user/login
anonymous: ~
secured_area:
pattern: ^/
form_login:
login_path: user_login
check_path: user_login_check
default_target_path:/
logout:
path: /user_logout
target: user_login
remember_me:
key: atipics-soft2012
lifetime: 3600
access_control:
- { path: ^/, roles: ROLE_USER }
providers:
users:
entity: { class: MyApp\UserBundle\Entity\User, property:email }
encoders:
MyApp\UserBundle\Entity\User: { algorithm: sha512, iterations: 10 }
Я получаю сообщение об ошибке, как это:
InvalidConfigurationException: Invalid конфигурация для пути «security.firewalls.secured_area»: check_path «user_login_check» для метода входа «form_login» не соответствует шаблону брандмауэра «^ /».
В чем может быть проблема?
Из этой картинки я добавил этот маршрут в файл маршрутов.
Вам необходимо исключить страницу входа из вашего контроля доступа, поскольку в противном случае пользователь не может получить доступ к вашей странице входа без входа. Документация довольно хороша в материалах безопасности и должна вас вести. – Sgoettschkes
Вы правы, но я уже попытался это сделать. Дело в том, чтобы защитить все приложение. Вы знаете какой-то метод? – Bernat
попробуйте добавить '' - {путь: ^/user_login, роли: IS_AUTHENTICATED_ANONYMOUSLY} '' в ваш список access_controll. – Sgoettschkes