Symfony: после входа не перенаправляет обратно на запрашиваемую страницу

Я хочу перенаправить обратно на запрашиваемую страницу после входа в систему, я знаю, что Symfony обеспечивает это по умолчанию, но в моем случае это не работает. Я пробовал с referer: true в security.yml но не получил никакого результата.

Я использую FOSUserBundle для управления пользователями.
Ваша помощь будет оценена, спасибо заранее.

security.yml

security:
encoders:
FOS\UserBundle\Model\UserInterface: bcrypt
Admin\UserBundle\Entity\SuperAdmin: bcrypt
role_hierarchy:
ROLE_DEFAULT:     ROLE_DEFAULT
ROLE_SUPER_ADMIN: ROLE_SUPER_ADMIN
providers:
in_memory:
memory: ~
fos_userbundle:
id: fos_user.user_provider.username_email
administrators:
entity: { class: Admin\UserBundle\Entity\SuperAdmin, property: email}
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
social:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_token_generator: security.csrf.token_manager
login_path: fos_user_security_login
check_path: fos_user_security_check
default_target_path: user_bundle_homepage
success_handler: my.authentication_success_handler
logout:
path:   fos_user_security_logout
target: fos_user_security_login
anonymous: true

access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https  }
- { path: ^/login/facebook$, role: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }
- { path: ^/login/google$, role: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https  }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }
- { path: ^/admin0rama/.*, role: ROLE_SUPER_ADMIN, requires_channel: https}
- { path: ^/.*, role: ROLE_DEFAULT, requires_channel: https}

0

Решение

Я думаю, вы должны использовать use_referer: true в вашем определении брандмауэра (не только referer).

Пример:

# security.yaml
security:
firewalls:
social:
form_login:
use_referer: true

Документация.

0

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

Можете ли вы попробовать с _target_path, вы можете добавить это поле в форму входа, это всегда работает для меня в моих проектах

{% if app.request.get('_route') != app.request.headers.get('referer') %}
<input type="hidden" name="_target_path" value="{{ app.request.headers.get('referer') }}" />
{% endif %}

Я надеюсь это тебе поможет

Как настроить перенаправление после входа в систему

0

По вопросам рекламы [email protected]