我正在开发一个Symfony2应用程序,我遇到了问题。
当我退出我的应用程序时,它会正确执行,但如果我按下浏览器的后退按钮,我将返回到已记录的页面。
如果我写URL去转到此页面,我就不能。
提前致谢
这是我的Security.yml
security:
encoders:
Simple\ProfileBundle\Entity\User:
algorithm: sha1
encode_as_base64: false
iterations: 1
role_hierarchy:
ROLE_ADMIN: [ROLE_USER]
providers:
main:
entity:
class: Simple\ProfileBundle\Entity\User
property: username
firewalls:
secured_area:
pattern: ^/
anonymous: ~
form_login:
login_path: login
check_path: login_check
always_use_default_target_path: true
default_target_path: /logged/portada
logout:
path: /logout
target: /portada
access_control:
- { path: ^/logged, roles: ROLE_ADMIN }
答案 0 :(得分:0)
我刚刚在我自己的Symfony 2.3应用程序中成功测试了你的场景,发现它实际上是一个来自浏览器缓存的安全漏洞(不是框架问题,因为它不受框架的控制。 )
这是discussion around the issue。一般(但不完整)的解决方案是发送" Expire"当您使用后退按钮行为时,浏览器可能(或可能不)注意的标题。 Here's the Symfony docs for HTTP Cache headers
我还没有在2.5。*环境中测试它,所以这可能已在更高版本的Symfony中解决。