我们有两个应用程序是" Spring Session"它们之间。
在应用程序中,管理员可以强制注销其他在线用户。在我们使用" Spring Session"之前,我们从SessionRegistry
获取所有在线用户,并使用以下方法强制注销用户。但是现在当用户登录到app1时,app1的SessionRegistry
会保持会话信息但app2的SessionRegistry
不能保留!
public void forceLogOut(int userId) {
for (Object username : sessionRegistry.getAllPrincipals()) {
User temp = (User) username;
if (temp.getId().equals(userId)) {
for (SessionInformation session : sessionRegistry.getAllSessions(username, false)) {
sessionRegistry.getSessionInformation(session.getSessionId()).expireNow();
}
}
}
}
我们有两个问题: