我在我的Global.asax中覆盖Application_AuthenticateRequest()以尝试更好地理解事件流.我正在使用默认MVC2应用程序附带的成员资格提供程序.
我想如果我这样做了:
public void Application_AuthenticateRequest(object sender,EventArgs args) { HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName]; if (authCookie != null) { authCookie.Expires = System.DateTime.Now.AddDays(-1); // Set the cookie expires time in order to delete it Response.Cookies.Add(authCookie); } }
用户可以登录,但在提交登录表单后加载页面时,由于我销毁了他们的身份验证cookie,因此他们会显示为未登录.
然而事实并非如此.相反,他们可以成功登录,并在页面加载时显示登录.他们点击的下一页将将其记录下来.
我以为我没有及时销毁他们的cookie,因此我将该代码放入Global.asax中的Application_BeginRequest()中.它产生了相同的结果.
这是否意味着我仍然没有及时销毁他们的cookie,或者我没有正确理解事件的流程?
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。