Las cookies entre dominios están involucradas. Dos sistemas que necesitan iniciar sesión están integrados en las páginas web de cada uno.

Antecedentes:

En la actualidad, la compañía tiene dos sistemas de back-end, back-end ay back-end B. La sesión de inicio de sesión se establece a través de cookies. Ahora tenemos que hacer que parezca un sistema sin grandes transformaciones.

Ideas de soluciones:

Incruste la página web del fondo b en el fondo a, y el fondo b prepara una interfaz 1 (el parámetro de entrada es el nombre de usuario, y la salida es el menú propiedad de la función a la que pertenece el nombre de usuario). Antes de hacer clic en el menú, solicite la interfaz 2 (el parámetro de entrada es el nombre de usuario, la función es colocar una cookie para el usuario, de modo que inicie sesión, la respuesta llevará una cookie configurada y el navegador configurará la cookie después de recibirla. Vaya al nombre de dominio al que pertenece la interfaz 2, para que se pueda abrir directamente al hacer clic en el menú de fondo b), el método de solicitud de la interfaz 2 debe estar envuelto por la etiqueta del script, como <script src = "URL de la interfaz 2"> </ script > Este método no es el método de solicitud XHR, por lo que evita problemas de seguridad entre dominios

 

Extensión:

Dominio cruzado: siempre que el protocolo, la ruta y el puerto sean diferentes, es dominio cruzado

Hay tres elementos de problemas de seguridad entre dominios:

1. La comprobación del navegador no permite solicitudes entre dominios

2. La solicitud en sí es una solicitud de dominio cruzado

3. El método de solicitud es XHR

Solo con los tres elementos anteriores se producirán problemas de seguridad entre dominios, de modo que cuando ocurran problemas de seguridad entre dominios, los tres solo tendrán que resolver un problema

Resuelva "La comprobación del navegador no permite solicitudes entre dominios":

Este método comienza desde el navegador del cliente, por lo que no es práctico.

Resuelva el "Método de solicitud es XHR":

Similar al método jsonp, este método es cambiar el método de solicitud que originalmente pertenecía a XHR a otros métodos de solicitud

Resuelva la "solicitud propia es una solicitud de dominio cruzado":

Esta solución tiene dos direcciones: 1. La persona que llama resuelve el dominio cruzado 2. La persona que llama resuelve el dominio cruzado

El destinatario resuelve el dominio cruzado: habilite al destinatario para permitir el dominio cruzado (agregado en el encabezado en la capa de código o agregado en el archivo de configuración del servidor nginx)

La persona que llama a resolver varios dominios: Límite de la persona que llama para utilizar un proxy, ya que "entre dominios" es sólo entre el navegador y el servidor . No podemos obligar a los servidores remotos a permitir solicitudes de "dominio cruzado", por lo que todo lo que podemos hacer es no usar navegadores para enviar solicitudes. Entonces, en el desarrollo front-end, una forma común de eludir el dominio cruzado es enviar la solicitud ajax a su servidor de desarrollo local, y luego el servidor de desarrollo local reenvía la solicitud ajax al extremo remoto, mirando el servidor de desarrollo local desde la topología de red Actúa como un "proxy inverso". El servidor local y el servidor remoto son "comunicación entre el servidor y el servidor", por lo que no hay problema entre dominios

 

 

 

Publicado 25 artículos originales · Me gusta2 · Visitas 20,000+

Supongo que te gusta

Origin blog.csdn.net/longjuanfengzc/article/details/89712457
Recomendado
Clasificación