1 aspecto importante al usar requestAction más AuthComponent


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:

  1. 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é.

  2. 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 

  3. 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  )

Entradas que pueden interesarte