فهرست منبع

新增getSessionBySessionId

zhouhao 8 سال پیش
والد
کامیت
7fb088f51f

+ 2 - 0
hsweb-web-core/src/main/java/org/hsweb/web/core/session/HttpSessionManager.java

@@ -7,6 +7,8 @@ import java.util.Set;
 
 public interface HttpSessionManager {
 
+    HttpSession getSessionBySessionId(String sessionId);
+
     /**
      * 根据登陆用户的ID 获取SessionId
      *

+ 7 - 0
hsweb-web-core/src/main/java/org/hsweb/web/core/session/redis/RedisHttpSessionManager.java

@@ -56,6 +56,13 @@ public class RedisHttpSessionManager extends AbstractHttpSessionManager {
         });
     }
 
+    @Override
+    public HttpSession getSessionBySessionId(String sessionId) {
+        ExpiringSession redisSession = redisOperationsSessionRepository.getSession(sessionId);
+        if(redisSession==null)return null;
+        return new HttpSessionWrapper(redisSession);
+    }
+
     @Override
     public void removeUser(String userId) {
         sessionRedisTemplate.execute((RedisCallback) connection -> {

+ 5 - 0
hsweb-web-core/src/main/java/org/hsweb/web/core/session/siample/SimpleHttpSessionManager.java

@@ -28,6 +28,11 @@ public class SimpleHttpSessionManager extends AbstractHttpSessionManager {
      */
     private static final ConcurrentMap<String, HttpSession> userSessionStorage = new ConcurrentHashMap<>();
 
+    @Override
+    public HttpSession getSessionBySessionId(String sessionId) {
+        return sessionStorage.get(sessionId);
+    }
+
     @Override
     public Set<User> tryGetAllUser() {
         return userSessionStorage.values().stream().map(httpSession -> (User) httpSession.getAttribute("user"))