Программисты JAVA общаются здесь
Anonymous
Один сеанс уже запущен в браузере в новой таблице, войдите в систему того же пользователя, выйдите из старого и продолжи
Сообщение
Anonymous » 13 ноя 2024, 14:55
@Component
публичный класс CustomSessionAuthenticationStrategy реализует SessionAuthenticationStrategy {
Код: Выделить всё
private SessionRegistry sessionRegistry;
private AdminUserRepository userRepository;
public void setSessionRegistry(SessionRegistry sessionRegistry) {
this.sessionRegistry = sessionRegistry;
}
@Autowired
public void UserServiceImpl(AdminUserRepository userRepository) {
this.userRepository = userRepository;
}
@Resource(name = "uniqueIdSessionMap")
ConcurrentHashMap uniqueIdSessionMap;
@Override
public void onAuthentication(Authentication authentication, HttpServletRequest request,
HttpServletResponse response) throws SessionAuthenticationException {
if (authentication.getPrincipal() instanceof UserDetails) {
UserDetails userDetails = (UserDetails) authentication.getPrincipal();
AdminUser user = userRepository.findByUserid(userDetails.getUsername());
HttpSession currentSession = request.getSession(false);
String uniqueId = user.getUniqueId().toString();
if (uniqueIdSessionMap.containsKey(uniqueId)) {
HttpSession oldsessionid = uniqueIdSessionMap.get(uniqueId);
if (oldsessionid != null) {
uniqueIdSessionMap.remove(uniqueId, oldsessionid);
try {
oldsessionid.invalidate();
} catch (IllegalStateException e) {
}
}
}
if (currentSession != null) {
uniqueIdSessionMap.put(uniqueId, currentSession);
}
}
}
Это работает нормально в другом браузере, но когда тот же браузер с новой вкладкой не работает
Подробнее здесь:
https://stackoverflow.com/questions/791 ... -and-log-o
1731498959
Anonymous
@Component публичный класс CustomSessionAuthenticationStrategy реализует SessionAuthenticationStrategy { [code]private SessionRegistry sessionRegistry; private AdminUserRepository userRepository; public void setSessionRegistry(SessionRegistry sessionRegistry) { this.sessionRegistry = sessionRegistry; } @Autowired public void UserServiceImpl(AdminUserRepository userRepository) { this.userRepository = userRepository; } @Resource(name = "uniqueIdSessionMap") ConcurrentHashMap uniqueIdSessionMap; @Override public void onAuthentication(Authentication authentication, HttpServletRequest request, HttpServletResponse response) throws SessionAuthenticationException { if (authentication.getPrincipal() instanceof UserDetails) { UserDetails userDetails = (UserDetails) authentication.getPrincipal(); AdminUser user = userRepository.findByUserid(userDetails.getUsername()); HttpSession currentSession = request.getSession(false); String uniqueId = user.getUniqueId().toString(); if (uniqueIdSessionMap.containsKey(uniqueId)) { HttpSession oldsessionid = uniqueIdSessionMap.get(uniqueId); if (oldsessionid != null) { uniqueIdSessionMap.remove(uniqueId, oldsessionid); try { oldsessionid.invalidate(); } catch (IllegalStateException e) { } } } if (currentSession != null) { uniqueIdSessionMap.put(uniqueId, currentSession); } } } [/code] Это работает нормально в другом браузере, но когда тот же браузер с новой вкладкой не работает Подробнее здесь: [url]https://stackoverflow.com/questions/79184776/one-session-is-already-running-in-browser-in-new-table-login-same-user-and-log-o[/url]
0 Ответы
12 Просмотры
Последнее сообщение Anonymous
13 ноя 2024, 15:26
Выйдите из системы и войдите в систему
Anonymous »
15 дек 2024, 13:14 » в форуме
Python
Я делаю одно бронирование на этом сайте После того, как первое резервирование было сделано, мне придется выйти из системы и войти в систему под другим именем.В данный момент я использую driver.close() после первого резервирования и driver.get для...
0 Ответы
9 Просмотры
Последнее сообщение Anonymous
15 дек 2024, 13:14
Выйдите из системы и войдите в систему
Anonymous »
15 дек 2024, 15:00 » в форуме
Python
Я делаю одно бронирование на этом сайте После того, как первое резервирование было сделано, мне придется выйти из системы и войти в систему под другим именем.В данный момент я использую driver.close() после первого резервирования и driver.get для...
0 Ответы
19 Просмотры
Последнее сообщение Anonymous
15 дек 2024, 15:00
0 Ответы
32 Просмотры
Последнее сообщение Гость
04 янв 2024, 22:45
0 Ответы
27 Просмотры
Последнее сообщение Гость
04 янв 2024, 22:45