diff --git a/application/src/main/java/run/halo/app/security/session/InMemoryReactiveIndexedSessionRepository.java b/application/src/main/java/run/halo/app/security/session/InMemoryReactiveIndexedSessionRepository.java index 493a25daa..8939d5eaa 100644 --- a/application/src/main/java/run/halo/app/security/session/InMemoryReactiveIndexedSessionRepository.java +++ b/application/src/main/java/run/halo/app/security/session/InMemoryReactiveIndexedSessionRepository.java @@ -98,6 +98,12 @@ public class InMemoryReactiveIndexedSessionRepository extends ReactiveMapSession Mono updateIndex(MapSession session) { return removeIndex(session.getId()) + .then(Mono.defer(() -> { + if (!session.getId().equals(session.getOriginalId())) { + return removeIndex(session.getOriginalId()); + } + return Mono.empty(); + })) .then(Mono.defer(() -> { indexResolver.resolveIndexesFor(session) .forEach((name, value) -> {