FOSUserBundle Сброс пароля не работает с олицетворением конфигурации пользователя

Я использую Symfony 3.3 с FOSUserBundle 2.0. Я не могу заставить функцию сброса пароля работать. Я иду, чтобы запросить страницу сброса, введите адрес электронной почты или имя пользователя и нажмите на кнопку отправить, и он перенаправляет меня на страницу входа без каких-либо ошибок, отображаемых в представлении.
Я посмотрел на журнал, и он дает мне эту ошибку:

security.DEBUG: Access denied, the user is not fully authenticated; redirecting to authentication entry point. {"exception":"[object] (Symfony\\Component\\Security\\Core\\Exception\\AccessDeniedException(code: 403): Access Denied. at .../vendor/symfony/symfony/src/Symfony/Component/Security/Http/Firewall/SwitchUserListener.php:125)"} []

Security.yml:

security:
encoders:
FOS\UserBundle\Model\UserInterface: sha512

{...}

firewalls:
main:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_token_generator: security.csrf.token_manager
default_target_path: /verifInit
logout:       true
anonymous:    true
switch_user:
role: ROLE_ADMIN
provider: fos_userbundle
parameter: username
dev:
pattern:  ^/(_(profiler|wdt)|css|images|js)/
security: false

providers:
in_memory:
memory:
users:
user:  { password: userpass, roles: [ 'ROLE_USER' ] }
admin: { password: adminpass, roles: [ 'ROLE_ADMIN' ] }
fos_userbundle:
id: fos_user.user_provider.username

access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/, role: ROLE_ADMIN }

Когда я удаляю часть switch_user в security.yml, она работает хорошо. У тебя есть идея почему? Мне нужна функция switch_user для моего проекта, поэтому я не могу ее удалить.

3

Решение

switch_user: true

а также

security:
role_hierarchy:
ROLE_ADMIN: [ROLE_USER, ROLE_ALLOWED_TO_SWITCH]

Попробуйте так.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector