Symfony 使用相同的登录检查Sonata用户包和Sonata管理包登录
我有一个应用程序拥有Symfony 使用相同的登录检查Sonata用户包和Sonata管理包登录,symfony,symfony-sonata,Symfony,Symfony Sonata,我有一个应用程序拥有Sonata用户包和Sonata管理包,但是当我使用 Sonata用户包,在我尝试进入管理页面后,我必须再次登录 有些人知道如何忘恩负义两者,只有一个登录 谢谢你的建议 我找到了解决方案,我将相同的检查路径和登录路径放在管理防火墙中,默认情况下在主防火墙中使用, 在这里,我共享security.yml中的代码: admin: pattern: /admin(.*) context: user form_login:
Sonata用户包
和Sonata管理包
,但是当我使用
Sonata用户包,在我尝试进入管理页面后,我必须再次登录
有些人知道如何忘恩负义两者,只有一个登录
谢谢你的建议 我找到了解决方案,我将相同的
检查路径
和登录路径
放在管理防火墙中,默认情况下在主防火墙中使用,
在这里,我共享security.yml中的代码:
admin:
pattern: /admin(.*)
context: user
form_login:
.....
main:
pattern: ^/
context: user
form_login:
.....
#->URL管理区域的自定义防火墙
admin:
pattern: /(.*)
fr3d_ldap:
check_path: /login_check
form_login:
provider: fos_userbundle
login_path: /login
use_forward: false
check_path: /login_check
failure_path: null
default_target_path: /admin/
logout:
path: /logout
anonymous: true
#->结束自定义配置
#为标准用户定义登录区域
main:
pattern: .*
fr3d_ldap: ~
form_login:
always_use_default_target_path: true
default_target_path: /
我希望这对某人有帮助 当您使用防火墙“admin”登录时,防火墙“main”不知道您的情况,因为会话正在使用默认前缀(防火墙名称)写入。 您需要为不同的防火墙使用1个contex(在app/config/security.yml中): 上下文:用户
我也有同样的问题。这是因为在SonataAdmin文档中,默认情况下,他们为管理员提供了不同的防火墙。但事实上,这说明“多个防火墙不共享安全上下文”。这就是为什么如果需要全局身份验证(我认为这是最常见的情况),就必须只使用一个防火墙的原因