有关在会话超时后处理登录到Web /应用程序服务器(WildFly 9.0.2)的问题。
情景:
我有一个简单的Web应用程序,其中包含使用基于表单的身份验证(操作:j_security_check)和容器管理登录的登录页面。
这可以按预期工作:
这不符合预期:
问题: 要解决这个问题需要做些什么?
snip from web.xml :
<display-name>SecurityWeb</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<security-constraint>
<web-resource-collection>
<web-resource-name>All</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<description>...</description>
<role-name>administrator</role-name>
<role-name>customer</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/error.jsp</form-error-page>
</form-login-config>
</login-config>
<security-role>
<description>Admin</description>
<role-name>administrator</role-name>
</security-role>
<security-role>
<description>Customer</description>
<role-name>customer</role-name>
</security-role>
<session-config>
<session-timeout>1</session-timeout>
</session-config>
+-------------------------------------------------+
snip from login.jsp :
<form method="post" ACTION="j_security_check">
id: <input type="text" name="j_username" /> <br>
pw: <input type="password" name="j_password" /> <br>
<input type="submit" name="login" value="Login">
</form>
+-------------------------------------------------+
Farisola
答案 0 :(得分:0)
我正在寻找解决方案的错误位置,事实证明我所要做的就是添加一个空闲监视器,它是一个主要组件,在你的框架中找到相应的东西。因此,空闲监视器执行的操作是,当应用程序处于非活动状态并且会话超时时,它会在设置的时间间隔内倒计时,然后您可以触发事件以刷新用户所在的当前页面。这将解决问题。
有关更深入的解决方案,请参阅此Automatically perform action in client side when the session expires