Я уже написал метод входа в систему.Теперь я хочу, чтобы пользователь вышел из текущей сессии.Однако можно уничтожить только все сеансы.
Это то, что у меня есть в данный момент:
Мой метод входа в систему:
@GetMapping("/")
public String root(Model model) {
//show all current logged in users
List<Object> loggedUsers = sessionRegistry.getAllPrincipals();
for (Object principal : loggedUsers) {
final User loggedUser = (User) principal;
model.addAttribute("loggedInUser", loggedUsers);
}
return "index";
}
Класс выхода из системы
@ Открытый класс компонента CustomLogoutSuccessHandler реализует LogoutSuccessHandler {
@Override
public void onLogoutSuccess(HttpServletRequest request,
HttpServletResponse response, Authentication authentication)
throws IOException, ServletException {
logger.info("Logout successfully with principal: " + authentication.getName());
HttpSession hs = request.getSession();
String username = request.getUserPrincipal().getName();
String id = hs.getId();
Enumeration e = hs.getAttributeNames();
while (e.hasMoreElements()) {
String attr = (String) e.nextElement();
hs.setAttribute(attr, null);
}
hs.invalidate();
}
}
Может быть, кто-нибудь может дать мне подсказку?