diff --git a/src/main/java/stirling/software/SPDF/config/interfaces/SessionsInterface.java b/src/main/java/stirling/software/SPDF/config/interfaces/SessionsInterface.java index e368046b..60173fb6 100644 --- a/src/main/java/stirling/software/SPDF/config/interfaces/SessionsInterface.java +++ b/src/main/java/stirling/software/SPDF/config/interfaces/SessionsInterface.java @@ -2,19 +2,31 @@ package stirling.software.SPDF.config.interfaces; import java.util.Collection; -import stirling.software.SPDF.config.anonymus.session.AnonymusSessionInfo; +import jakarta.servlet.http.HttpSession; public interface SessionsInterface { - default boolean isSessionValid(String sessionId) { - return false; - } + boolean isSessionValid(String sessionId); boolean isOldestNonExpiredSession(String sessionId); void updateSessionLastRequest(String sessionId); - Collection getAllSessions(); + Collection getAllSessions(); - Collection getAllNonExpiredSessions(); + Collection getAllNonExpiredSessions(); + + Collection getAllNonExpiredSessionsBySessionId(String sessionId); + + void registerSession(HttpSession session); + + void removeSession(HttpSession session); + + default int getMaxUserSessions() { + return 3; + } + + default int getMaxApplicationSessions() { + return 10 * getMaxUserSessions(); + } }