Php 在FOSUserBundle中用户注销时保留路径
我在一个正在进行的项目中使用FOSUserBundle,一切正常,但当我关闭会话时,我遇到了一个小问题,因为我转到应用程序的索引,而不是停留在登录表单所在的安全区域(安全区域),即Php 在FOSUserBundle中用户注销时保留路径,php,symfony,fosuserbundle,symfony-2.5,Php,Symfony,Fosuserbundle,Symfony 2.5,我在一个正在进行的项目中使用FOSUserBundle,一切正常,但当我关闭会话时,我遇到了一个小问题,因为我转到应用程序的索引,而不是停留在登录表单所在的安全区域(安全区域),即/admin/login。这是我的安全。yml: security: encoders: FOS\UserBundle\Model\UserInterface: sha512 role_hierarchy: ROLE_ADMIN: ROLE_USER
/admin/login
。这是我的安全。yml
:
security:
encoders:
FOS\UserBundle\Model\UserInterface: sha512
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: ROLE_ADMIN
providers:
fos_userbundle:
id: fos_user.user_provider.username_email
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_provider: form.csrf_provider
logout:
path: /logout
target: /admin
invalidate_session: false
anonymous: true
access_control:
- { path: ^/admin, role: ROLE_ADMIN }
有人能告诉我哪里出了错吗?我想是
匿名:真的
。如果您基本上希望整个站点处于访问控制之下,除了登录页面之外,没有其他页面可供未登录的人访问,那么您希望这样:
security:
encoders:
FOS\UserBundle\Model\UserInterface: sha512
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: ROLE_ADMIN
providers:
fos_userbundle:
id: fos_user.user_provider.username_email
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_provider: form.csrf_provider
logout:
path: /logout
target: /admin
invalidate_session: false
anonymous: ~ # NO ANONYMOUS ACCESS
access_control:
- { path: ^/admin, role: ROLE_ADMIN }
# anonymous visitors need to be able to get to the logon pages
- { path: ^/login, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
# Could also add "safe" routes like an "about" or "contact us" pages here if you like
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
也许我没有正确理解,但是,您的登录表单是否“在”安全区域内?@DonCallisto是的,如果登录表单本身在安全区域内,您如何登录?@DonCallisto我想我一开始完全理解了您的意思,不,它不在安全区域,此后我无法随时登录,您看到的是我唯一的配置,因为在前端我不需要登录访问,所以我忽略了其他配置