我使用springmvc开发了我的网站。但问题是,登录后,当我将url从一个浏览器(假设chrome(复制到另一个浏览器时,它会将我重定向到处于登录状态(在IE中(的自定义错误页面,但它应该只给我登录页面。我需要对XML文件进行任何更改吗?我已经附上了XML文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" version="3.1">
<display-name>Intelligent Data Works</display-name>
<welcome-file-list>
<welcome-file>/WEB-INF/views/login.jsp</welcome-file>
</welcome-file-list>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
<url-pattern>*.js</url-pattern>
<url-pattern>*.jpg</url-pattern>
<url-pattern>*.png</url-pattern>
<url-pattern>*.gif</url-pattern>
<url-pattern>*.woff2</url-pattern>
<url-pattern>*.woff</url-pattern>
<url-pattern>*.mp4</url-pattern>
<url-pattern>*.PNG</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>spring-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/spring-dispatcher-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- <servlet>
<servlet-name>ModuleList</servlet-name>
<servlet-class>com.comsnet.idw.diw.util.ModuleList</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet> -->
<servlet-mapping>
<servlet-name>spring-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<error-page>
<location>/WEB-INF/views/error.jsp</location>
</error-page>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log4j_idw.properties</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<filter>
<filter-name>AccessFilter</filter-name>
<filter-class>com.comsnet.idw.common.AccessFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>AccessFilter</filter-name>
<url-pattern>/home/*</url-pattern>
<url-pattern>/RDW/*</url-pattern>
<url-pattern>/DIW/*</url-pattern>
<url-pattern>/IMW/*</url-pattern>
<url-pattern>/DSW/*</url-pattern>
<url-pattern>/TSW/*</url-pattern>
<url-pattern>/DOW/*</url-pattern>
<url-pattern>/DIQ/*</url-pattern>
</filter-mapping>
<security-constraint>
<web-resource-collection>
<web-resource-name><strong>restricted methods</strong></web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>PUT</http-method>
<http-method>MKCOL</http-method>
<http-method>DEBUG</http-method>
<http-method>PROPFIND</http-method>
<http-method>PROPPATCH</http-method>
<http-method>MOVE</http-method>
<http-method>COPY</http-method>
<http-method>DELETE</http-method>
<http-method>GETLIB</http-method>
<http-method>LOCK</http-method>
<http-method>UNLOCK </http-method>
<http-method>HEAD</http-method>
</web-resource-collection>
<auth-constraint />
</security-constraint>
<!-- <listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener> -->
<!-- <context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring-security.xml
</param-value>
</context-param>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> -->
<session-config> <session-timeout>30</session-timeout> </session-config>
</web-app>
这可以使用Cookie来完成。登录时,创建一个cookie并保存在浏览器中。由于cookie是特定于浏览器的,因此不会保存在其他浏览器中。现在,在我们可以检查会话是否存在的页面中,我们可以检查具有正确值的cookie是否存在!从而防止跨浏览器登录。