1 aspecto importante al usar requestAction más AuthComponent
Olvidar que utilizar requestAction es equivalente a realizar una solicitud aparte puede ser grave. ¡A mi me costó un par de horas!
Hoy mientras desarrollaba un nuevo sitio me topé con problema que pensé que era un error del AuthComponent: una acción que debía estar accesible a un usuario no autenticado me redirigía a la página de login.
Luego de revisar el código del Auth component sin resultados me recordé que en esa vista hago uso de la técnica de elementos reusables con requestAction y había olvidado agregar la solicitada por requestAction a la lista de acciones de acceso público. Por lo tanto me redirigía a la página de login nuevamente.
Con agregar la acción solicitada con requestAction a la lista de acciones permitidas se solucionó el problema. De esta experiencia puedo decirles que hay dos cosas importantes que recordar:
- Hacer una llamada a requestAction es equivalente a una solicitud completa al servidor: no abuses de requestAction o el servidor te demandará por maltrato. Usa el caché.
- Al ser una solicitud completamente nueva todos los pasos de cake son ejecutados: desde el bootstraping (carga de las configuraciones de Cake), pasando por la carga de componentes, helpers y behaviors hasta la ejecución de la acción en el controlador. Eso incluye el Auth Component, lo cual se me olvidó a mi
- Sí, había dicho que eras sólo 2 pero este punto es adicional e interesante: la acción con requestAction tomaba 0.5 segundos en ser completada, al usar caching el tiempo disminuyó a 0.1 segundos (te dije que era interesante
)
Recibe otros artículos como este automáticamente
Suscríbete vía RSS a aikon.com.ve ||
¿Qué es RSS?