【发布时间】:2014-04-28 16:26:24
【问题描述】:
我在使用 jsf 的 J2ee 项目中使用带 Realm 的 Glassfish 安全性。我的会话在 30 分钟后超时。
当我点击组件时,它会重定向到登录页面,这很好。
但您希望在会话结束时用户单击组件之前出现对话框或消息需要出现以警告用户会话已过期。
这就是为什么我尝试这种方式但使用 jsf 监听器不起作用:
<f:event listener="#{Logincontroller.checksessiontimeout}" type="preRenderView"/>
并在托管中:
public void checksessiontimeout(ComponentSystemEvent event)
{
FacesContext context = FacesContext.getCurrentInstance();
HttpServletRequest request = (HttpServletRequest) context.getExternalContext().getRequest();
if (request.getRequestedSessionId()!=null && !request.isRequestedSessionIdValid())
{
System.out.println("Session Log OUT");
}
}
但是当会话超时时没有为我打印任何内容,这证明该功能不起作用。
【问题讨论】:
标签: java jsf session glassfish