Si tengo un sitio web basado en contenido y el servidor web accede a un CMS para determinar qué mostrar en el sitio para una página en particular. Esto no es particularmente rápido y requiere potencia de cálculo.
Para resolver esto usamos un CDN. Por lo tanto, cuando accedemos a la memoria caché, no necesitamos tanta potencia informática y no necesitamos acceder al CMS. Si realizamos la autenticación de usuarios en el sitio, esto se convierte en un problema debido a lo siguiente.
La autenticación le permite a un usuario registrarse para iniciar sesión en esa cuenta. Esto les permitirá acceder a contenido especial, guardar y votar por el contenido y ver contenido personalizado.
Cuando haya iniciado sesión, la mayoría de las páginas del sitio web seguirán siendo las mismas, excepto por algunas diferencias:
- Verá "Bienvenido" en el encabezado.
- El menú tendrá 3 enlaces adicionales. "Mi cuenta", "Mi contenido" y "Cerrar sesión".
Una implementación de inicio de sesión típica podría tener este aspecto:
- Pregunte por correo electrónico y contraseña.
- Publicar correo electrónico y contraseña a través de https a la aplicación.
- La aplicación establece una cookie de sesión cifrada con el ID de usuario.
- Las solicitudes futuras a la aplicación serán incluir la cookie para que pueda determinar si alguien ha iniciado sesión y quien es.
- El encabezado se personalizará en consecuencia en el aplicación.
El problema con esta implementación es que para que funcione, tendrá que acceder al servidor web cada vez que esté en cada página, por lo que se eliminará la CDN y el valor que proporciona.
Esto parece innecesario porque como se indicó anteriormente, el sitio web seguirá siendo prácticamente el mismo incluso cuando hayas iniciado sesión.
¿Hay formas de aprovechar una CDN y aún así proporcionar la funcionalidad de inicio de sesión que estamos buscando?