【问题标题】:ASP.NET: Clear client output cache on log outASP.NET:注销时清除客户端输出缓存
【发布时间】:2010-07-20 17:42:44
【问题描述】:
我的网络客户端需要客户端输出缓存,因为它使用自己的后退和前进按钮(基本上只是调用浏览器的后退/前进按钮)。
但是,我遇到的问题(当然)是当用户退出应用程序时。客户端输出缓存仍然存在,因此任何人都可以单击“返回”按钮,并且它似乎再次登录。我研究了一些解决方案,但大多数都涉及服务器端输出缓存或根本没有输出缓存。
我在服务器缓存和 HttpResponse.RemoveOutputCacheItem 方面取得了成功,但不幸的是我需要客户端缓存。
是否可以在注销时清除此客户端输出缓存?
【问题讨论】:
标签:
c#
asp.net
outputcache
【解决方案1】:
您是否有理由要明确删除缓存?
检查用户登录的最佳方法是在当前目录中添加一个配置,例如:/section1/web.config
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</configuration>
如果用户未通过验证,您可以在主 web.config 中设置重定向页面。
使用 system.web.security 成员身份记录用户。推送注销时,您可以使用会员登录模板
或使用以下命令显式注销:
FormsAuthentication.SignOut();
这样可以确保安全并保持页面缓存。