一段时间后以编程方式注销Spring Security

时间:2019-02-06 13:21:06

标签: java java-ee spring-security jersey spring-jersey

我有一些带有Jersey(Glassfish)的rest应用,并由SpringSecurity保护。 例如,在调用某些REST API时,需要一些代码在10分钟后以编程方式注销当前用户。

我尝试了一些类似的代码:

new Timer().schedule(new TimerTask() {
                @Override
                public void run() {
                    final HttpServletRequest req = request;
                    req.getSession().invalidate();
                    rememberMeServices.logout(req, null, null);
                }
            }, 100000);

new SecurityContextLogoutHandler().logout(request, null, null);

我的问题是上面的带有计时器且没有计时器的工作代码无法正常工作, 在春季安全会议或http会话中调用一些休息api时如何注销?

1 个答案:

答案 0 :(得分:0)

如果您使用的是Spring Security会话,则只需将会话超时设置为所需的任何值即可。

请参阅this question以了解操作方法。