Я пытаюсь настроить традиционную форму входа и регистрации, следуя документации Symfony 4.
Используя регистрационную форму, я, кажется, могу правильно регистрировать пользователей в базе данных mariaDB на Arch Linux.
Я использую сервер разработки Symfony. Когда я пытаюсь войти в систему с зарегистрированным пользователем, я получаю этот HTML-код на странице входа.
Запрос аутентификации не может быть обработан из-за системной проблемы.
Если пользователь или пароль неверны или я не заполняю поля, я получаю ту же ошибку.
Запуск разработки Symfony 4 с -vvv verboses отображает
2018-01-26T16:10:26+00:00 [info] Matched route "login".
2018-01-26T16:10:26+00:00 [info] Authentication request failed.
2018-01-26T16:10:26+00:00 [debug] Authentication failure, redirect triggered.
[Fri Jan 26 17:10:26 2018] 127.0.0.1:52250 [302]: /login
2018-01-26T16:10:26+00:00 [info] Matched route "login".
2018-01-26T16:10:26+00:00 [info] Populated the TokenStorage with an anonymous Token.
[Fri Jan 26 17:10:26 2018] 127.0.0.1:52252 [200]: /login
При использовании сетевого инспектора Firefox кажется, что сообщение о входе в систему возвращает ошибку 302. Я не знаю, как это отладить или как получить дополнительную информацию.
Это security.yaml
# config/packages/security.yaml
security:
encoders:
App\Entity\User:
algorithm: bcrypt
providers:
our_db_provider:
entity:
class: App\Entity\User
property: username
firewalls:
main:
provider: our_db_provider
pattern: ^/
anonymous: ~
form_login:
login_path: login
check_path: login
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, role: ROLE_USER }
Я не использую имя пользователя, поэтому я удалил его из класса User и контроллера регистрации и заставил user.getUsername возвращать адрес электронной почты пользователя, как это было предложено в документе.