Один сеанс уже запущен в браузере в новой таблице, войдите в систему того же пользователя, выйдите из старого и продолжиJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Один сеанс уже запущен в браузере в новой таблице, войдите в систему того же пользователя, выйдите из старого и продолжи

Сообщение Anonymous »

@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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»