我正在尝试实现一个Web应用程序项目,我的网页可以使用AJAX检查服务器的身份验证票证到期日期/时间.
我正在使用带有slidingExpiration的表单身份验证.
我遇到的问题是我无法弄清楚如何检查值而不重置它.我创建了一个简单的页面 - CheckExpiration.aspx - 下面是代码背后的代码:
private class AjaxResponse { public bool success; public string message; public string expirationDateTime; public string secondsRemaining; public string issueDate; } protected void Page_Load(object sender, EventArgs e) { AjaxResponse ar = new AjaxResponse(); JavaScriptSerializer js = new JavaScriptSerializer(); if (HttpContext.Current.User.Identity.IsAuthenticated) { FormsIdentity id = (FormsIdentity)HttpContext.Current.User.Identity; string expiration = id.Ticket.Expiration.ToString(); TimeSpan timeRemaining = id.Ticket.Expiration - DateTime.Now; ar.success = true; ar.expirationDateTime = expiration; ar.issueDate = id.Ticket.IssueDate.ToString(); ar.secondsRemaining = timeRemaining.Minutes.ToString() + ":" + timeRemaining.Seconds.ToString(); } else { ar.success = false; ar.message = "User not authenticated"; } string output = js.Serialize(ar); Response.Write(js.Serialize(ar)); }
我每秒都使用ajax在我的应用程序的Master页面中调用此页面.超过身份验证到期的中途点,到期时间将重置.
我该如何防止这种行为?我可以在请求的标题中做些什么吗?