无法从wicket注销

无法从wicket注销,wicket,Wicket,我正在通过扩展AuthenticatedWebSession来管理身份验证 登录 @Override protected boolean authenticate(String username, String password) { return true/false some auth logic here; } 注销 @Override public void signOut() { super.signOut(); this.getApp

我正在通过扩展AuthenticatedWebSession来管理身份验证

登录

@Override
protected boolean authenticate(String username, String password) {
    return true/false some auth logic here;
}
注销

@Override
    public void signOut() {
        super.signOut();
        this.getApplication().getSecuritySettings().getAuthenticationStrategy().remove();
        this.getSessionStore().invalidate(RequestCycle.get().getRequest());
        throw new RedirectToUrlException("some_url_that_does_not_require_auth", HttpServletResponse.SC_MOVED_TEMPORARILY);
    }
和我的页面配置

@AuthorizeInstantiation("ADMIN")
public class Home extends Base {
  //Page stuff here
}
现在的问题是,如果我注销,我仍然可以访问经过身份验证的内容。通过单击后退按钮或将url粘贴到浏览器。我只能观看内容,当我点击某个东西时,它会将我重定向到非授权页面


当注销会话id更改并且会话从SecuritySettings中删除时,无法理解为什么它仍然显示身份验证内容。

调用
session.invalidate()
而不是
session.signOut()


我建议从Wicket 8.x的API中删除/隐藏
signOut()
。最近其他人也遇到了同样的问题()。

调用
会话.无效()
而不是
会话.注销()


我建议从Wicket 8.x的API中删除/隐藏
signOut()
。最近其他人也有同样的问题()。

当我调用
AuthWebSession.get().invalidate()时也会发生同样的问题很抱歉,我注销后仍有剩余,invalidate工作正常。调用
AuthWebSession.get().invalidate()时也会发生同样的情况对不起,我仍然有剩余的注销,无效工作很好。