防止跨浏览器登录



我使用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是否存在!从而防止跨浏览器登录。

最新更新