我有一个Spring Web应用程序,我使用Spring安全性进行了用户身份验证.
一切都很好.登录和注销工作完美!
现在,我想实现以便自动注销.例如,如果用户打开窗口大约30分钟并且什么也不做(例如,会话已过期)系统应该自动注销.我该如何实现呢?
它可能由客户端实现(我每1分钟发送一次请求并检查会话是否结束).但我不能自动从Spring那里做到这一点吗?
我有这个配置:
403" />
logout invalidate-session="true"
logout-success-url="/login?logout"/>
并在web.xml中
最佳答案
如何使用安全配置.??我希望下面的配置:将工作.
applicationContext.xml中
applicationContext.xml中
--namespace-> xmlns:security="http://www.springframework.org/schema/security"
logout invalidate-session="true"
success-handler-ref="logout"
logout-url="/logout.html" />
web.xml中
而他们,你需要编写自己的,因为success-handler-ref =“logout”是注销的自定义处理程序:
登出
@零件
public class logout extends SimpleUrllogoutSuccessHandler {
@Override
public void onlogoutSuccess(HttpServletRequest request,HttpServletResponse response,Authentication authentication) throws IOException,ServletException {
if (authentication != null) {
// do something
}
setDefaultTargetUrl("/login");
super.onlogoutSuccess(request,response,authentication);
}
}