1
A
回答
1
对于GET请求,您希望他们仍然可以在“后退”中看到经过身份验证的页面,但无法与其交互(假设您使用POST进行操作)。
由于您正在讨论POST请求(因为它提供了过期的消息),因此您可能会遗漏控制器/操作中的[Authorize]
属性,这将允许任何未经身份验证的用户访问它,你检查过了吗?
+0
我正在使用帖子。当用户注销时,我看到“文档已过期”,这是想要的结果。当你点击FF中的“try again”按钮时,它会在控制器中重新发送这些值(我可以在调试模式下看到),因此用户再次进行身份验证。即使用户再次点击TRY,它也不应该路由到已认证的页面。 – Niv 2013-02-08 23:44:47
2
这是因为页面被缓存。对于所有安全请求,您需要手动清除缓存。你可以做这样的事情:
public class SecurePageAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
filterContext.HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));
filterContext.HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache);
filterContext.HttpContext.Response.Cache.SetNoStore();
}
}
你会然后用它在你的控制器像这样:
[SecurePage]
public ActionResult Index() {
return View();
}
你也可以注释整个控制器或注册此全局如果大多数网站是安全。
相关问题
- 1. 在注销时显示登录页面(点击后退按钮)
- 2. 注销后防止返回页面
- 3. 让后退按钮滚动页面到页面顶部
- 4. 后退按钮将用户退回到注销后的受保护页面-zend framework
- 5. 注销会话恢复后退按钮
- 6. 浏览器注销后退按钮
- 7. 如何在注销后使用后退按钮显示登录页面?
- 8. 注销,所以后退按钮不会返回到配置文件
- 9. codeigniter - 注销后仍然可以使用的后退按钮
- 10. 退出后返回登录页面firebaseUI?
- 11. 从活动让后退按钮返回到片段的Android
- 12. 单击浏览器后退按钮后,可以在注销后查看访问的页面。我如何避免?
- 13. 身份验证退出和后退按钮asp .net
- 14. 如何在JSP注销后禁用浏览器后退按钮?
- 15. jQuery在页面后退按钮滚动
- 16. 退出浏览器的返回按钮后登录页面重定向
- 17. 注销 - 返回登录页面
- 18. W3C验证css sprite后退按钮?
- 19. NSIS - InstallOptions - 跳过验证后退按钮
- 20. 防止用户在注销后使用后退按钮访问上一页
- 21. 从我的应用程序注销后,如果我按下后退按钮,我可以看到前一页
- 22. 注销后防止页面回顾
- 23. 退回到后退按钮菜单
- 24. 刷新页面,然后导航到后退按钮上按
- 25. 有没有办法让一个人一旦注销但是点击“后退”按钮就不会呈现页面?
- 26. WP8后退按钮走两步返回
- 27. 后退按钮,返回填写表格
- 28. 返回按钮问题...和注销按钮
- 29. 删除历史或注销后禁用后退按钮
- 30. 上后退按钮缓存问题注销后点击
可能的重复http://stackoverflow.com/questions/1951784/logout-from-mvc – hatchet 2013-02-08 23:38:32