Tag: logout

Keycloak注销不会结束会话

我在使用Spring Framework的Java应用程序中使用Keycloak 3.4,使用Keycloak Jetty-81-Adapter 3.4在Jetty 8.1中使用。 根据Keycloak文档,我应该能够在Java EE应用程序中使用HttpServletRequest从Keycloak注销。 但是,即使Jetty支持HttpServletRequests,这在我的情况下也不起作用。 您可以通过多种方式注销Web应用程序。 对于Java EE servlet容器,可以调用HttpServletRequest.logout().. 如果我尝试以这种方式注销,我会被重定向到keycloak(登录屏幕,可以选择多个域登录)。 但是当我选择我喜欢的领域时,我会立即再次登录到webapplication,而无需提供任何凭据。 我尝试了替代方法,重定向到Keycloak: 对于其他浏览器应用程序,您可以将浏览器重定向到 http:// auth-server / auth / realms / {realm-name} / protocol / openid-connect / logout?redirect_uri = encodedRedirectUri 但是它会在Keycloak日志中抛出连接拒绝错误,因为Keycloak试图直接调用我的webapp。 它对保持活动状态的Keycloak会话没有影响。 我强烈建议不要直接从Keycloak到webapp进行必要的服务器端调用。 为什么HttpServletRequest.logout()在我的情况下不破坏keycloak会话的任何建议? HttpServletRequest的Jetty实现是否与Java EE实现完全不同,它根本无法工作?

Spring Security – 无法注销

我是Spring Framework的初学者。 我和我的朋友正在波兹南理工大学写我们的工程论文,我们遇到了Spring Security(3.1.0)的问题。 我不能很好地退出。 当我想再次登录时,我看到消息“用户已经登录”(我覆盖了标准的Spring Security错误消息)。 我试图清除SecurityContextHolder的上下文,但它仍然无法正常工作。 弹簧security.xml文件 ` web.xml中 springSecurityFilterChain org.springframework.web.filter.DelegatingFilterProxy springSecurityFilterChain /* 针对home.jsp <a href="https://stackoverflow.com/questions/13920729/spring-security-cannot-logout/”>Logout Controller.java @RequestMapping(value = “logout”) public String logout() { SecurityContextHolder.clearContext(); return “redirect:/j_spring_security_logout”; } @RequestMapping(value = “start”) public String start(Model model, HttpServletRequest request) { // sprawdzenie czy uzytkownik nie jest juz zalogowany if (request.getRemoteUser() == null) { return “start”; […]

如何在spring mvc中处理浏览器后退按钮

当用户登录时会存储会话信息。 并且当用户注销时会删除会话信息。 但是当我点击浏览器的后退按钮时,会显示用户信息。 由于会话已经消失,但我们无法确定是否执行了用户登录操作。 我该如何解决这个问题? —————————-log out ——————————- @RequestMapping(value=”logout.htm”,method = RequestMethod.GET) public void logOut(HttpSession session,HttpServletResponse response,HttpServletRequest request) throws IOException{ final String refererUrl = request.getHeader(“Referer”); response.setHeader(refererUrl, “no-cache”); response.setHeader(“Cache-Control”, “no-cache”); response.setDateHeader(“Expires”, 0); session.removeAttribute(“user”); session.invalidate(); response.sendRedirect(“index.htm”); } ———————————- login ————— @RequestMapping(value=”/userLogin”,method=RequestMethod.POST) public @ResponseBody JsonResponse login(@ModelAttribute(value=”user”) User user, BindingResult result,HttpServletRequest request,HttpSession session,ModelMap model) throws UnsupportedEncodingException{ JsonResponse res = new […]

如何在spring-security中注销所有登录用户?

我希望能够以编程方式注销所有登录用户。 如何在某些事件上强制注销所有用户?