Red de conocimientos turísticos - Información de alquiler - Principio de autenticación de inicio de sesión único y uso compartido de cookies entre dominios

Principio de autenticación de inicio de sesión único y uso compartido de cookies entre dominios

Autenticación de inicio de sesión único, configure un interceptor de inicio de sesión único en el sistema para interceptar todas las solicitudes. Ingrese la URL del sistema en el navegador. Debido a que todas las intercepciones de solicitudes están configuradas, todas las solicitudes ingresan a este interceptor. Personalice un nombre de cookie, como sso.xb.com. Cuando no haya cookies en servletRequest durante la primera visita, la URL se redirigirá a la página de inicio de sesión único configurada para el inicio de sesión de autenticación de punto único. Una vez completado el inicio de sesión, salte al sistema actual. En este momento, el navegador contiene una cookie de sso.xb.com. Si se trata de un proyecto integrado de front-end y back-end, esta cookie se cumple, pero después de anidar el script de la plataforma Lingzhi, descubrí que después de que el inicio de sesión único fue exitoso, la página se actualizó y saltó al único. -Página de inicio de sesión. Tenía curiosidad sobre el motivo. Después de un seguimiento cuidadoso, se descubrió que es normal el inicio de sesión único sin anidar el script de Zero Intelligence Platform. Este problema ocurrió después de agregarlo.

¿Qué causa esto?

Más tarde descubrí que http cumple con la política del mismo origen. Para conocer la política del mismo origen, consulte el artículo del profesor Ruan La política del mismo origen nos dice que se transportarán las cookies del mismo origen. cuando se solicita ajax o Promise. Para proyectos no originales, habrá problemas entre dominios, debe configurar withCredentials en verdadero en ajax o XMLHttpRequest. El backend establece el encabezado para permitir que la solicitud transporte cookies de diferentes fuentes. Por supuesto, este atributo no tiene ningún impacto en las solicitudes del mismo origen y se ignorará automáticamente, porque mi sistema está anidado en el sistema Lingzhi, por lo que la cookie se comparte de acuerdo con el procesamiento normal. Es por eso que se utiliza la autenticación de inicio de sesión único. Falló después de agregar el script de la plataforma Lingzhi. La solución es muy simple. Usar el estándar CORS puede resolver mi problema. Para obtener una explicación detallada de CORS, consulte este artículo del profesor Ruan.

Para resumir: ¿Para resolver el problema entre dominios? Debe agregar la información del encabezado Origen y Control de acceso a la URL entre dominios. Esto significa que el servidor (backend de la plataforma Lingzhi) lo permite explícitamente. y las cookies de la plataforma Lingzhi ¿Se pueden incluir en la solicitud y enviarse al servidor (este sistema)?