【发布时间】:2011-11-30 17:18:02
【问题描述】:
我正在使用 Symfony2 进行一个项目,您必须登录才能看到该网站。我正在使用 FOSUserBundle 创建会员区。思路是这样的:如果有匿名用户访问该网站,我会系统地重定向到登录页面。
这是我的 security.yml :
providers:
fos_userbundle:
id: fos_user.user_manager
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
realm: "Acces reserve"
login:
pattern: ^/(login$|register|resetting)
anonymous: true
main:
pattern: ^/
form_login:
provider: fos_userbundle
remember_me: true
remember_me:
key: %secret%
anonymous: true
logout: true
access_control:
- { path: ^/backoffice, roles: ROLE_ADMIN }
- { path: ^/, roles: ROLE_USER }
我认为它没有理由不工作;这是现在的问题。我观察到我在 /login 和其他区域的登录方式不同。例如,如果我自己登录,那么我是网站上名为“admin”且角色为“ROLE_USER”的用户,但是如果我转到 /login,我将登录为“anon”,根本没有任何角色。 同样的问题但更无聊:当一个新用户注册时,他登录 /login 页面而不是其他页面......所以他总是重定向到 /login 并且注销不会改变任何东西。 :/
你有什么想法吗?
谢谢!
附: : 是否可以手动清理 Symfony2 中的所有会话?因为我希望能够尝试其他事情,但在 Chrome 中我现在什么都做不了……我尝试清除浏览器缓存和 cookie,清除 Symfony 缓存等……没有任何变化,我仍然在 /login 页面上以“admin”身份登录 -_-
【问题讨论】:
-
您为 /login 使用不同的(登录)防火墙
-
我会尝试改变它,但我认为这不是问题;对于 /login 和网站之间的区别,好的。但是注册后就不再登录网站了,这很奇怪;仍然,注销应该可以工作..