【发布时间】:2012-10-28 11:54:37
【问题描述】:
我有一个自定义注销页面。当用户单击注销时,将到达此页面(并且注销状态保存在数据库中)。没有登录机制。如果用户尝试在新窗口中查看,则允许他查看该页面,并且注销状态将更改为已登录。
一旦登出,当用户点击返回按钮(从登出页面)时,它不应该允许用户查看上一页。
类似地:当用户访问一个页面时,时间会被存储。当他空闲 20 分钟并尝试操作时,他将被重定向到会话超时。他应该无法在单击后退按钮时查看上一页。
目前在每个页面中,我正在检查数据库状态并在状态已注销时再次重定向到已注销页面。但它会导致页面首先加载,然后在 javascript 中进行验证,然后重定向。有没有更好的方法来处理这个问题?
注意:我根据Clear browser history 中的评论将其作为一个新问题发布
$.ajax(
{
type: "POST",
url: "LogOut.aspx/GetActiveIndicatorStatus",
data: '{"empID": "' + empID + '"}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: navigateBasedOnStatus
}
);
//Helper Function
function navigateBasedOnStatus(result) {
if (result.hasOwnProperty("d")) {
result = result.d
}
//alert($.trim(result));
if ($.trim(result) == "LoggedOUT") {
window.location.href("LogOut.aspx");
}
else
{
contentHolderDiv.css("display", "block");
}
}
参考:
【问题讨论】:
-
我不明白这个机制。没有显式登录,但您可以注销?并且用户在访问新站点时会自动重新登录?从任何角度来看,这听起来都非常不正统且容易出错……更不用说 Javascript 也不应该参与处理登录/退出。
-
@deceze 当用户访问页面时,时间被存储。当他空闲 20 分钟并尝试操作时,他将被重定向到会话超时。他应该无法在单击后退按钮时查看上一页。
标签: javascript jquery