关于注销的问题
前几天一直在折腾注销的问题,在网上有查到一些注销的办法大致如下
login的Page_Load中加入如下代码
System.Web.Security.FormsAuthentication.SignOut();
Session.Abandon();
login的登录函数中,读取用户信息正确后把信息保存在以下变量中
System.Web.Security.FormsAuthentication.SetAuthCookie(strname,true);
然后在web.config中添加
<authentication mode="Forms"><forms loginUrl="login.aspx" protection="All" timeout="60" ath="/"></forms></authentication>
可是我总觉得还有哪里遗漏了,因为以上代码无法实现,点击浏览器上的"后退"还是能回到前一个页面,这样注销就没有意义啦.如果有哪位高手知道了还请指点一二啊,告诉我问题出在哪里吧.
后来想了一个笨方法,在页面上加一个注销的链接,点击触发如下事件
Session.RemoveAll();
if((string)Session["name"]==null)
{
Response.Redirect("*.aspx");
}
其中*.aspx是指添加注销链接的当前页面,相当于在把Session值移除后再重新打开当前页面,然后而在这个页面中的Page_Load中加入如下代码
if(!Page.IsPostBack)
{
strLogin = (string)Session["name"];
if(strLogin==null)
Response.Redirect("login.aspx");
}
其中Session["name"]那个值是在login中登录成功以后赋的值.
这样的话因为Session移除所以就又转回道登录页面了,而且点击"后退"也不会回到上一个页面了.
唉,虽然功能实现了,但是总觉得有问题.
浙公网安备 33010602011771号