我正在开发一个 Spring MVC Web 应用程序。上周我开始在我的项目中添加 Sping Secuirty。我面临的问题涉及会话管理。这是我的 spring-security.xml 的 http 部分
<http auto-config="true">
<intercept-url pattern="/css" filters="none"/>
<intercept-url pattern="/js" filters="none"/>
<intercept-url pattern="/logout" filters="none"/>
<intercept-url pattern="/loginfailed" filters="none"/>
<intercept-url pattern="/login" filters="none"/>
<intercept-url pattern="/**" access="ROLE_USER" />
<form-login login-page="/login" default-target-url="/hello"
authentication-failure-url="/loginfailed" />
<session-management invalid-session-url="/login.jsp?error=sessionExpired" session-authentication-error-url="/login.jsp?error=alreadyLogin">
<concurrency-control max-sessions="1" expired-url="/login.jsp?error=sessionExpiredDuplicateLogin" error-if-maximum-exceeded="false"/>
</session-management>
</http>
登录/注销工作正常,但是当我尝试通过尝试从不同的浏览器登录来使用户会话无效时, invalid-session-url="/login.jsp?error=sessionExpired" 失败。浏览器被重定向,因为我看到正在发送对 login.jsp?error=sessionExpired 的 GET 请求。但是,网页显示错误,指出资源不可用。我怀疑它与
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass">
<value>org.springframework.web.servlet.view.JstlView</value>
</property>
<property name="prefix">
<value>/WEB-INF/pages/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
在我的调度程序-servlet.xml 中。但是,我不知道如何解决这个问题。login.jsp 位于 WEB-INF/pages/