|
@@ -6,9 +6,9 @@ import org.springframework.security.core.session.SessionInformation;
|
|
|
import org.springframework.security.core.session.SessionRegistry;
|
|
import org.springframework.security.core.session.SessionRegistry;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
|
|
-import java.util.Date;
|
|
|
|
|
-import java.util.List;
|
|
|
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
|
|
+import java.time.ZoneId;
|
|
|
|
|
+import java.util.*;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* @author reghao
|
|
* @author reghao
|
|
@@ -24,16 +24,19 @@ public class AccountSessionService {
|
|
|
this.userRepository = userRepository;
|
|
this.userRepository = userRepository;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public void getActiveSessions() {
|
|
|
|
|
- List<SessionInformation> activeSessionInfos = new ArrayList<>();
|
|
|
|
|
|
|
+ public Map<Integer, LocalDateTime> getLastRequest() {
|
|
|
|
|
+ Map<Integer, LocalDateTime> map = new HashMap<>();
|
|
|
for (Object principal : sessionRegistry.getAllPrincipals()) {
|
|
for (Object principal : sessionRegistry.getAllPrincipals()) {
|
|
|
String username = (String) principal;
|
|
String username = (String) principal;
|
|
|
User user = userRepository.findByUsername(username);
|
|
User user = userRepository.findByUsername(username);
|
|
|
for (SessionInformation sessionInfo : sessionRegistry.getAllSessions(principal, false)) {
|
|
for (SessionInformation sessionInfo : sessionRegistry.getAllSessions(principal, false)) {
|
|
|
Date date = sessionInfo.getLastRequest();
|
|
Date date = sessionInfo.getLastRequest();
|
|
|
- activeSessionInfos.add(sessionInfo);
|
|
|
|
|
|
|
+ LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
|
|
|
|
|
+ map.put(user.getId(), localDateTime);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ return map;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public void deactiveSession(User user) {
|
|
public void deactiveSession(User user) {
|