当用户在jsf中离开页面时,如何使会话无效?

时间:2013-08-01 18:32:14

标签: jsf session java-ee session-state session-timeout

人们,我怎么知道用户何时更改了地址并离开了页面? 我正在使用JSF 1.2并且我的老板想要这个小功能,比如,他在页面上然后他把其他地址ctrl + L然后www.foo.com当他回到页面时会话仍然有效所以他不需要通过登录界面,如何在此事件发生时失效?

1 个答案:

答案 0 :(得分:-1)

唯一的方法是将JavaScript函数绑定到<body onunload='...'>http://www.w3schools.com/jsref/event_onunload.asp)。

以下是一个例子:

<script type="application/javascript">
function logout() {
   var xhr = XMLHttpRequest();
   xhr.open('get', '/logout', false);
   xhr.send(null);
}
</script>
....
<body onunload="logout()"> ...

这样,当用户离开页面时,浏览器会向/logout网址发出请求。在服务器端,使请求/logout的任何用户会话无效。