【发布时间】:2015-07-09 07:08:43
【问题描述】:
我有一个 Web 应用程序(.net VB 代码),它利用会话变量来存储用户名(这里是登录名)和配置文件(管理员/客户端),身份验证由 asp 成员身份处理。然后,应用程序在加载事件上依赖这些会话变量。这个应用程序已经运行了好几年了。但是,最近用户在登录并尝试加载需要这些变量之一的新页面后抱怨偶尔出现错误消息。它最常发生在 Chrome,还有 IE 和 Firefox。
遇到此错误的用户需要退出并清除浏览历史记录,然后才能再次使用。该错误不容易复制 - 我能够在我的机器上使用“后退”按钮“暴力”触发它几次,最终触发它 - 然后我必须清除我的浏览历史记录才能让应用程序再次工作.
什么可能导致这种情况发生?
会话在“登录”页面的加载事件中设置为“会话(“类型”)=“管理员”,后续页面检查会话“类型”的值
我知道我可以改用 cookie,但出于安全原因我选择不这样做。可以改用 cookie 来防止这种情况吗?还是我需要使用membership.getuser 方法来获取用户名,然后在数据库中查找值?这似乎效率不高。
想法?
【问题讨论】:
标签: asp.net vb.net session cookies