如何使用Spring Security自动注销

前端之家收集整理的这篇文章主要介绍了如何使用Spring Security自动注销前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个Spring Web应用程序,我使用Spring安全性进行了用户身份验证.

一切都很好.登录和注销工作完美!

现在,我想实现以便自动注销.例如,如果用户打开窗口大约30分钟并且什么也不做(例如,会话已过期)系统应该自动注销.我该如何实现呢?

它可能由客户端实现(我每1分钟发送一次请求并检查会话是否结束).但我不能自动从Spring那里做到这一点吗?

我有这个配置:

403" />

        logout invalidate-session="true" 
             logout-success-url="/login?logout"/>

    

并在web.xml中

1分钟后,我看到会话被破坏了. 1分钟后杀死会话.但是页面没有重定向到/ login?logout

最佳答案
如何使用安全配置.??我希望下面的配置:将工作.
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);       
    }
}

猜你在找的Spring相关文章