eclipse RAP 应用程序中的注销处理

问题描述

在我的 RAP 应用程序中,我需要进行一些注销处理(forward do keycloak sso/logout)。 哪里是一个很好的钩子?

with open('./test.csv','r') as f: for line in csv.DictReader(f): del line[None] line_json = dict(line) json_rows.append(line_json) 也会在我刷新浏览器窗口 (F5) 时执行,我不希望会话在刷新时注销。
相反,如果会话已过期或浏览器窗口已关闭
是否有过期会话或会话失效事件的钩子?

找到 org.eclipse.ui.application.WorkbenchAdvisor.postShutdown() 但它也在浏览器刷新时执行:

UISessionListener.beforeDestroy()

解决方法

代码显示 UISessionListener 捕获包含的事件 UISessionEvent 用户界面会话。此对象绑定到HttpSession,如果您不想过期,只需将会话配置为无限(最好让它长时间退出但不是无限取决于使用应用程序的用户数量)。

HttpSession 默认有过期时间(例如 apache tomcat 是 30m)。但它是可配置的。当在这种超时时间内没有发生会话(请求)的单一“接触”时,会话已过期。

此外,默认情况下会话将在选项卡关闭/打开期间“存活”,因为 cookie 保存在客户端(再次此行为可配置)。