悬赏分:20 浏览:670 次
用ASP.NET的Membership
我在同一台机子上用帐号A登陆并在editprofile.aspx页修改了信息,然后退出,
接着再使用帐号B登陆,点浏览器的后退按钮回到editprofile.aspx页,居然可以显示A的信息,并且提交表单后,账户A的信息改变了!!!
不知道这是怎么回事?账户A确实已经退出了的,就算浏览器有缓存,那表单也不应该能提交的啊?
|
Membership,MS把程序员教越来越简单了 是不是使用了cookieless?或者别的什么?感觉问题比较奇怪? editprofile.aspx,是个性化页面吗?看到的应该是本地的缓存吧。 这个是因为浏览器的历史浏览功能,你可以查看ie的历史地址,这个是浏览器的缓存,你后退的时候,其实是浏览历史页面...建议dudu在用户退出的时候屏蔽掉ie的后退功能,或者清空历史缓存... 用后退是可以看到历史记录信息,但这里是不能提交的吧,已经过期的数据了,我估计楼主的问题就是缓存导致的,没用过membership,也只是猜测一下,期待更好的答案 楼主能放出代码吗?看看你怎么写的 另外,你是怎么退出的? 给这个页面加上一个Response.Cache.SetCacheability(HttpCacheability.NoCache); 禁用客户端退回. 估计LZ写的身份验证有问题. 最好使用.net 的自带的FormsAuthentication.SetAuthCookie(); 方法来给用户传递安全票据而避免使用Session. |