问题描述
||
当我尝试注销系统时,将加载我的登录页面。之后,按浏览器“后退”按钮,它显示网页已过期,并且当我刷新页面时,由于“请求”中的值而再次进行了数据库调用。 Form [“ __ EVENTTARGET”]属性和文本框值将保留其先前的值,并再次执行登录功能。
请提出解决此问题的方法。
例如:服务器端代码如下:
如果(IsPostBack)
{
字符串参数= Request.Form [\“ _ EVENTTARGET \”];
字符串参数= Request.Form [\“ _ EVENTARGUMENT \”];
if (parameter == \"LOGIN\")
{
ValidateLoginDetails();
}
}
注销后,当我按浏览器的后退按钮时,浏览器显示网页已过期。然后刷新页面,获取字符串参数的值。原因可能是什么,我该如何解决。
解决方法
听起来您没有正确注销用户-在进行身份验证之前,您不应该在配置为要进行身份验证的页面上访问服务器端代码。
另一个选择是身份验证配置存在问题-您是否检查过User.Identity.Name返回了您期望的值?