Широ. Нет сеанса с идентификатором

Я использую Shiro-1.2.3 для веб-приложения GWT. Я могу настроить процесс входа в систему пользователя; Тем не менее, мне нужна помощь с процессом выхода из системы. Веб-приложение разворачивается через tomcat и создает новый экземпляр для разных пользователей. Так, например, когда в систему вошли два пользователя, shiro создает два идентификатора сеанса; однако, когда я нажимаю на кнопку выхода, она вызывает функцию subject.logout() для выхода из системы пользователя, и похоже, что по какой-то причине Широ отслеживает только один сеанс (последний пользователь вошел в систему). Он успешно выйдет из системы, если был зарегистрирован только один пользователь; тем не менее, при выходе более чем из одного я получаю следующее:

Вызывается: org.apache.shiro.session.UnknownSessionException: нет сеанса с идентификатором [f5b7c3bf-2c53-40e9-a707-37f4265970aa] в org.apache.shiro.session.mgt.eis.AbstractSessionDAO.readSession(AbstractSessionDAO.jpg).:170) в org.apache.shiro.session.mgt.DefaultSessionManager.retrieveSessionFromDataSource(DefaultSessionManager.java:236) в org.apache.shiro.session.mgt.DefaultSessionManager.retrieveSession(DefaultSessionManager.java:22apache или org. At.shiro.session.mgt.AbstractValidatingSessionManager.doGetSession(AbstractValidatingSessionManager.java:118) в org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupSession(AbstractNativeSessionManager.java:105.mg.sA.Ag.s.lookupRequiredSession(AbstractNativeSessionManager.java:109) в org.apache.shiro.session.mgt.AbstractNativeSessionManager.getAttribute(AbstractNativeSessionManager.java:206) в org.apache.shiro.session.mgt.DelegatingSession.14. 1) в org.apache.shiro.session.ProxiedSession.getAttribute(ProxiedSession.java:121) в org.apache.shiro.session.ProxiedSession.getAttribute(ProxiedSession.java:121) в org.apache.shiro.session.ProxiedSession.getAttribute(ProxiedSession.java:121) при com.factorlab.security.FactorlabDelegatingSubject.getUser(FactorlabDelegatingSubject.java:34) при com.factorlab.security.FactorlabDelegatingSubject.getUser(FactorlabDelegatingSubject.java:10) при com.factorlab.persistence.AbstractEntityDao.getCurrentUser(AbstractEntityDao.java:227) в com.factorlab.persistence.AbstractEntityDao.fireEvent(AbstractEntityDao.java:215) в com.factorlab.persistence.AbstractEntityDao.saveOrUpdate(Abstract).AbstractEntityDao.saveOrUpdate(AbstractEntityDao.java:177) в com.factorlab.persistence.AbstractEntityDao.saveOrUpdate(AbstractEntityDao.java:38) в sun.reflect.GeneratedMethodAccessor106.invoke(Unknown Source) в sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke(Method.java:616) в org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:31raframe.rarame для работы в org). " на 318) в org.springframework.aop.framework.ReflectiveMethodI nvocation.invokeJoinpoint(ReflectiveMethodI nvocation.java:183) в org.springframework.aop.framework. nsaction.interceptor.TransactionI nterceptor.invoke(TransactionI nterceptor.java:110) в org.springframework.aop.framework.ReflectiveMethodI nvocation.proceed(ReflectiveMethodI nvocation.java:172) в рабочей области.jpg 202) в $Proxy76.receiveOpportunityEvent(Неизвестный источник) в sun.reflect.GeneratedMethodAccessor102.invoke(Неизвестный источник) в sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43etre.j.ref.jpg) в java.java: 616) в org.springframework.expression.spel.support.ReflectiveMethodExecutor.execute(ReflectiveMethodExecutor.java:69) в org.springframework.expression.spel.ast.MethodReference.getValueI nternalg: atReference (ссылка на метод) springframework.expression.spel.ast.CompoundExpression.getValueI nternal(CompoundExpression.java:57) в org.springframework.expression.spel.ast.SpelNodeImpl.getTypedValue(SpelNodeImpl.java:102) в org.springme ndard.SpelExpression.getValue(SpelExpression.java:102) в org.springframework.integration.util.AbstractExpressionEvaluator.evaluateExpression(AbstractExpressionEvaluator.java:126) в org.springframework.integration.util.I nelhoHhoserHM по адресу org.springframework.integration.util.MessagingMethodInvokerHelper.process(MessagingMethodInvokerHelper.java:127) по адресу org.springframework.integration.handler.MethodInvokingMessageProcessor.processMessage(MethodInvoorMessage: MethodI norkingMessage

**Shiro.ini**
[main]
myRealm=com.java.gwt.server.auth.MyRealm
myCacheManager = org.apache.shiro.cache.MemoryConstrainedCacheManager
securityManager.cacheManager = $myCacheManager 
securityManager.sessionManager.globalSessionTimeout = 9000000

Я также пытался использовать менеджер EhCache.

Для входа в систему я использую ту же информацию, что и в 10-минутном уроке с сиро.

Спасибо за ваше время.

0 ответов

Другие вопросы по тегам