diff --git a/src/main/java/org/springframework/session/data/mongo/MongoSession.java b/src/main/java/org/springframework/session/data/mongo/MongoSession.java index 0bece85..db75447 100644 --- a/src/main/java/org/springframework/session/data/mongo/MongoSession.java +++ b/src/main/java/org/springframework/session/data/mongo/MongoSession.java @@ -40,7 +40,7 @@ public class MongoSession implements Session { */ private static final char DOT_COVER_CHAR = '\uF607'; - private final String id; + private String id; private long createdMillis = System.currentTimeMillis(); private long accessedMillis; private long intervalSeconds; @@ -66,6 +66,17 @@ public class MongoSession implements Session { return this.id; } + public String changeSessionId() { + String changedId = generateId(); + this.id = changedId; + return changedId; + } + + private String generateId() { + return UUID.randomUUID().toString(); + } + + @Override public T getAttribute(String attributeName) { return (T) this.attrs.get(coverDot(attributeName));