在我的应用程序(ASP.NET MVC 3 RAZOR)中,当会话过期并且用户尝试访问某些内容时,它会将它们重定向到登录页面以重新登录。如果会话已过期,处理AJAX请求
这很好,但是当从ajax请求调用(例如,如果用户已经离开他们的屏幕一段时间没有活动),它会在ajax请求中加载登录表单...这不是我想要的即将发生。
处理这个问题的最好方法是什么?理想情况下,如果会话已过期,我想显示一个模式,以便用户无法访问其他区域。所以,即使他们离开了屏幕,一些jQuery会检查会话,然后应用一个模式说“Session Expired”
我该怎么做?
例如
if(SESSION HAS EXPIRED) { showModal(); }
谢谢;)我要去做倒计时。 – Cameron
我喜欢处理这个(每Darin)的statusCode参数,但这只是一个偏好问题。检查成功返回的某种“不再认证”标志或字符串的数据也会起作用。我不会依靠倒计时;这只是一个假的会话,很容易被欺骗。您还需要处理真实的服务器会话。倒计时对于“你已经空闲”的对话可能没问题。 –
@Greg同意。会话需要跟踪服务器端。看来OP已经这样做了,但是另外只是想在会话过期时通知用户,所以欺骗不应该是问题,因为服务器不知道用户是否认为它仍然被认证。 – yoozer8