diff --git a/src/main/java/de/thm/arsnova/services/StatisticsService.java b/src/main/java/de/thm/arsnova/services/StatisticsService.java index 67a6f58da24ecabcd9e29da4bdbcd408d1ef96e7..1509e9e48c591e514973f4971ac6f96956ddca60 100644 --- a/src/main/java/de/thm/arsnova/services/StatisticsService.java +++ b/src/main/java/de/thm/arsnova/services/StatisticsService.java @@ -1,6 +1,7 @@ package de.thm.arsnova.services; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.core.session.SessionRegistry; import org.springframework.stereotype.Service; import de.thm.arsnova.dao.IDatabaseDao; @@ -17,6 +18,9 @@ public class StatisticsService implements IStatisticsService { @Autowired private IUserService userService; + @Autowired + private SessionRegistry sessionRegistry; + @Override public final int countActiveUsers() { long since = System.currentTimeMillis() - DURATION_IN_MILLIS; @@ -25,7 +29,7 @@ public class StatisticsService implements IStatisticsService { @Override public int countLoggedInUsers() { - return userService.loggedInUsers(); + return sessionRegistry.getAllPrincipals().size(); } @Override diff --git a/src/main/webapp/WEB-INF/spring/spring-security.xml b/src/main/webapp/WEB-INF/spring/spring-security.xml index ecd7f7669a93c1cecda86eec020db8c05416affb..70e43945886453179a09521bb5663ad8a82bf061 100644 --- a/src/main/webapp/WEB-INF/spring/spring-security.xml +++ b/src/main/webapp/WEB-INF/spring/spring-security.xml @@ -128,5 +128,7 @@ <bean id="failureHandler" class="de.thm.arsnova.LoginAuthenticationFailureHandler" p:defaultFailureUrl="/index.html" /> - + + <!-- Session Registry --> + <bean id="sessionRegistry" class="org.springframework.security.core.session.SessionRegistryImpl" /> </beans>