Предотвращение кросс-браузерного входа - PullRequest
0 голосов
/ 30 ноября 2018

Я разработал свой сайт с помощью Spring MVC.Но проблема в том, что после входа в систему, когда я копирую URL из одного браузера (предположим, chrome) в другой браузер (IE), он перенаправляет меня на пользовательскую страницу ошибок в состоянии входа в систему (в 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>

1 Ответ

0 голосов
/ 10 декабря 2018

Это можно сделать с помощью Cookie.При входе в систему создайте файл cookie и сохраните его в браузере.Поскольку cookie зависит от браузера, он не будет сохранен в других браузерах.Теперь на странице, где мы можем проверить, существует ли сеанс или нет, мы можем проверить, существует ли cookie с правильным значением или нет!Таким образом предотвращая кросс-браузерный вход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...