keycloak-aplcache

Merge pull request #751 from mposolda/stateless-session-mgmt Fix

10/9/2014 6:38:59 AM

Details

diff --git a/model/sessions-mongo/src/main/java/org/keycloak/models/sessions/mongo/MongoUserSessionProvider.java b/model/sessions-mongo/src/main/java/org/keycloak/models/sessions/mongo/MongoUserSessionProvider.java
index fe3bb2d..e2e9478 100755
--- a/model/sessions-mongo/src/main/java/org/keycloak/models/sessions/mongo/MongoUserSessionProvider.java
+++ b/model/sessions-mongo/src/main/java/org/keycloak/models/sessions/mongo/MongoUserSessionProvider.java
@@ -128,6 +128,7 @@ public class MongoUserSessionProvider implements UserSessionProvider {
     public List<UserSessionModel> getUserSessions(RealmModel realm, ClientModel client, int firstResult, int maxResults) {
         DBObject query = new QueryBuilder()
                 .and("clientId").is(client.getId())
+                .and("sessionId").notEquals(null)
                 .get();
         DBObject sort = new BasicDBObject("timestamp", 1).append("id", 1);
 
@@ -142,7 +143,11 @@ public class MongoUserSessionProvider implements UserSessionProvider {
 
     @Override
     public int getActiveUserSessions(RealmModel realm, ClientModel client) {
-        return getUserSessions(realm, client).size();
+        DBObject query = new QueryBuilder()
+                .and("clientId").is(client.getId())
+                .and("sessionId").notEquals(null)
+                .get();
+        return mongoStore.countEntities(MongoClientSessionEntity.class, query, invocationContext);
     }
 
     @Override