【发布时间】:2014-08-14 20:26:57
【问题描述】:
我正在开发一个 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 }
【问题讨论】:
-
您检查过是否取消了 $_Session/cokkie 或任何允许您留在其中的变量?
-
是的,我取消了所有 cookie 并销毁了会话,但它仍然会返回。我想这可能是因为浏览器缓存,但我无法停用它。
-
您的
security.yml文件是什么样的?你真的关注了 Symfony 文档中的the instructions relating to security,还是只是编写了自己的安全应用层?如果 Symfony 不承认某些路由或路径是安全的,Symfony 会告诉浏览器缓存页面。 -
该页面很可能已被您的浏览器缓存。没有实际请求发送到服务器,因此您无法阻止这种行为。
-
所以我什么都做不了??
标签: php symfony button logout back