shiro Error while validating the session java.lang.NullPointerException: null
时间: 2023-11-23 08:57:07 浏览: 254
在Shiro中,当会话过期或无效时,可能会出现“Error while validating the session java.lang.NullPointerException: null”的错误。这通常是由于在会话过期或无效时尝试访问会话属性而导致的。为了解决这个问题,您可以在Shiro配置文件中配置一个错误页面,以便在会话过期或无效时重定向到该页面。以下是一个示例配置:
```xml
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
<!-- ... other properties ... -->
<property name="filters">
<util:map>
<entry key="authc">
<bean class="org.apache.shiro.web.filter.authc.FormAuthenticationFilter">
<property name="loginUrl" value="/login"/>
<property name="errorUrl" value="/login?error=true"/>
</bean>
</entry>
</util:map>
</property>
<property name="securityManager" ref="securityManager"/>
<property name="loginUrl" value="/login"/>
<property name="successUrl" value="/"/>
<property name="unauthorizedUrl" value="/403"/>
<property name="filterChainDefinitions">
<value>
/login = authc
/** = anon
</value>
</property>
<property name="errorPages">
<util:map>
<entry key="org.apache.shiro.authz.UnauthorizedException" value="/403"/>
<entry key="org.apache.shiro.authc.AuthenticationException" value="/login?error=true"/>
<entry key="java.lang.Exception" value="/error"/>
</util:map>
</property>
</bean>
```
在这个示例中,我们配置了一个错误页面映射,以便在会话过期或无效时重定向到“/login?error=true”页面。这将确保用户在会话过期或无效时不会看到“Error while validating the session java.lang.NullPointerException: null”的错误。
阅读全文