private void increaseShiroGlobalSessionTimeout(final DefaultSecurityManager shiroManager) { SessionManager sessionManager = shiroManager.getSessionManager(); if (DefaultSessionManager.class.isInstance(sessionManager)) { DefaultSessionManager defaultSessionManager = (DefaultSessionManager) sessionManager; defaultSessionManager.setGlobalSessionTimeout(Long.MAX_VALUE); long value = defaultSessionManager.getGlobalSessionTimeout(); if (value != Long.MAX_VALUE) { logger.error("Unable to set Shiro Global Session Timeout. Current value is '{}'.", value); } } else { logger.error("Unable to set Shiro Global Session Timeout. Current SessionManager is '{}'.", sessionManager == null ? "null" : sessionManager.getClass()); } }
@Test public void testBindSessionManager() { final MockRealm mockRealm = createMock(MockRealm.class); Injector injector = Guice.createInjector(new ShiroModule() { @Override protected void configureShiro() { bindRealm().to(MockRealm.class); } @Provides public MockRealm createRealm() { return mockRealm; } @Override protected void bindSessionManager(AnnotatedBindingBuilder<SessionManager> bind) { bind.to(MyDefaultSessionManager.class); } }); DefaultSecurityManager securityManager = (DefaultSecurityManager) injector.getInstance(SecurityManager.class); assertNotNull(securityManager); assertNotNull(securityManager.getSessionManager()); assertTrue(securityManager.getSessionManager() instanceof MyDefaultSessionManager); }
sm.setSubjectDAO(subjectDAO); final DefaultSessionManager defaultSessionManager = (DefaultSessionManager) sm.getSessionManager(); defaultSessionManager.setSessionDAO(mongoDbSessionDAO); defaultSessionManager.setDeleteInvalidSessions(true);
DefaultSecurityManager securityManager = (DefaultSecurityManager) SecurityUtils.getSecurityManager(); DefaultSessionManager sessionManager = (DefaultSessionManager) securityManager.getSessionManager(); Collection<Session> activeSessions = sessionManager.getSessionDAO().getActiveSessions(); for (Session session: activeSessions){ session.stop(); }
sm.setSubjectDAO(subjectDAO); final DefaultSessionManager defaultSessionManager = (DefaultSessionManager) sm.getSessionManager(); defaultSessionManager.setSessionDAO(mongoDbSessionDAO); defaultSessionManager.setDeleteInvalidSessions(true);