Php Symfony:会话过期时使用了错误的防火墙
我有一个使用FOSUserBundle的Symfony应用程序不确定这是否重要,因为这是防火墙的问题。它有两个防火墙,分别用于站点的不同部分。一个是前端,另一个是管理区 我遇到的问题是,当用户登录到前端时,如果他们没有选择记住登录,在会话到期后,他们会被重定向到admin firewall注销目标 以下是我的安全文件中的防火墙配置:Php Symfony:会话过期时使用了错误的防火墙,php,session,symfony,firewall,Php,Session,Symfony,Firewall,我有一个使用FOSUserBundle的Symfony应用程序不确定这是否重要,因为这是防火墙的问题。它有两个防火墙,分别用于站点的不同部分。一个是前端,另一个是管理区 我遇到的问题是,当用户登录到前端时,如果他们没有选择记住登录,在会话到期后,他们会被重定向到admin firewall注销目标 以下是我的安全文件中的防火墙配置: jms_security_extra: secure_all_services: false expressions: true security
jms_security_extra:
secure_all_services: false
expressions: true
security:
encoders:
FOS\UserBundle\Model\UserInterface: sha512
role_hierarchy:
ROLE_CLIENT: ROLE_USER
ROLE_ACCOUNT_MANAGER: ROLE_CLIENT
ROLE_DESIGNER: ROLE_USER
ROLE_PUBLISHER: ROLE_DESIGNER
ROLE_ADMIN: [ROLE_PUBLISHER, ROLE_ACCOUNT_MANAGER]
ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
providers:
fos_userbundle:
id: fos_user.user_provider.username_email
firewalls:
site:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_provider: form.csrf_provider
always_use_default_target_path: true
default_target_path: site_survey_launch
login_path: site_login
check_path: site_login_check
use_referer: true
success_handler: xd_authentication.event.listener
logout:
path: site_logout
target: site_login
success_handler: xd_authentication.event.listener
anonymous: true
portal:
pattern: ^/portal
form_login:
provider: fos_userbundle
csrf_provider: form.csrf_provider
always_use_default_target_path: true
default_target_path: portal_user_surveys_live
login_path: portal_login
check_path: portal_login_check
logout:
path: portal_logout
target: portal_login
anonymous: true
context: shared
acl:
connection: default
站点注销配置的成功\u处理程序返回站点\u登录的重定向响应。甚至有更多的理由对这个问题感到相当困惑。除非成功处理程序仅用于手动注销过程
在此方面的任何帮助都将不胜感激。几个月来,我一直在试图弄清楚到底发生了什么。我认为防火墙定义的顺序很重要,因为站点有模式^/并且我认为它正在处理来自^/portal url的请求。您应该在站点防火墙之前定义门户防火墙 原来是这样的。今天早上早些时候我交换了一下,看看是否与订单有关。只是把它改回来,再试一次,它仍然在发生。谢谢你的意见。