java.lang.IllegalStateException: org.apache.shiro.session.UnknownSessionException: There is no session with id [d64a3edc-0860-479d-94a4-09670c2369ba] org.apache.shiro.web.servlet.ShiroHttpSession.getAttribute(ShiroHttpSession.java:133) org.springframework.web.util.WebUtils.getSessionAttribute(WebUtils.java:303) org.springframework.web.servlet.i18n.SessionLocaleResolver.resolveLocale(SessionLocaleResolver.java:84) org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1253) org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1037) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:980) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)<!-- <bean id="sessionManager" class="org.apache.shiro.web.session.mgt.DefaultWebSessionManager"> --><!-- 设置session过期时间为1小时(单位:毫秒),默认为30分钟 --><!-- <property name="globalSessionTimeout" value="3600000"></property> --><!-- <property name="sessionValidationSchedulerEnabled" value="true"></property> --><!-- </bean> -->sessionManager与国际化的处理不当导致的bug
<!-- 国际化配置 -->
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames" value="i18n.messages" />
<property name="useCodeAsDefaultMessage" value="true" />
</bean>
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
<property name="defaultLocale" value="zh_CN"/>
</bean>
问题解决方式:
<bean id="shiroEhcacheManager" class="org.apache.shiro.cache.ehcache.EhCacheManager"><property name="cacheManagerConfigFile" value="classpath:ehcache.xml"/></bean>
org.apache.shiro.session.UnknownSessionException: There is no session
最新推荐文章于 2024-06-01 15:23:13 发布