Tenga cuidado con las cookies de su navegador~
1. Descripción del problema
En nuestro desarrollo diario, contamos con depuración local y depuración en línea y despliegue de múltiples servidores. A partir de él observé que cada vez que uso el mismo navegador, si no borramos el caché cuando volvamos a iniciar sesión, habrá muchos problemas increíbles . Por ejemplo: el token se guarda en la cookie, lo que provoca que el inicio de sesión falle. Cuando múltiples roles inician sesión, el token se ha actualizado, pero el token anterior todavía se usa, lo que provoca una falla en el inicio de sesión, etc.
2. Ideas y problemas encontrados
Luego pensé en un método simple y grosero, eliminar directamente todas las cookies y obtener un nuevo token durante el inicio de sesión único , pero parece que no puedo eliminarlas todas, solo se pueden eliminar las cookies del dominio actual (local). ..
3. Resolución de problemas (publicar todos los códigos y comentarios)
(1) La razón central del problema:
No se pueden borrar todos los diferentes dominios (dominio)
(2) Todos los códigos y comentarios para resolver el problema:
delAllCookie() {
//清空全部cookie
var keys = document.cookie.match(/[^ =;]+(?=\=)/g);
if (keys) {
for (var i = keys.length; i--; ) {
document.cookie =
keys[i] + "=0;path=/;expires=" + new Date(0).toUTCString(); //清除当前域名下
document.cookie =
keys[i] +
"=0;path=/;domain=" +
document.domain +
";expires=" +
new Date(0).toUTCString();
document.cookie =
keys[i] +
"=0;path=示例:/index.vue(不同域的path,也就是你清除不了的cookie);domain=示例:10.10.10.208(不同域的domain,也就是你清除不了的cookie);expires=" +
new Date(0).toUTCString();
**document.cookie可加多条!!!!**
}
}
},
4. Resume el problema
Parece simple cuando se describe el problema, pero de hecho, también se necesita pensar con claridad cuando se soluciona el problema real, lo que causará muchos problemas dolorosos. Por supuesto, en nuestros diferentes escenarios de desarrollo del mundo real, los problemas específicos deben analizarse en detalle.
5. Pide una buena reseña
Si la comprensión no es completa, espero que todos puedan agregarla. Si ayuda a todos, ¡dale un me gusta gratis! ~~~~