Foros del Web » Programando para Internet » Javascript » Frameworks JS »

AJAX es valido para aplicaciones con varios perfiles de usuario??

Estas en el tema de AJAX es valido para aplicaciones con varios perfiles de usuario?? en el foro de Frameworks JS en Foros del Web. Hola amigos, os cuento mi problema. Como proyecto estoy realizando una aplicacion web grafica y interactiva utilizando el formato grafico svg. Los graficos svg que ...
  #1 (permalink)  
Antiguo 11/10/2007, 13:25
 
Fecha de Ingreso: febrero-2007
Mensajes: 14
Antigüedad: 17 años, 2 meses
Puntos: 0
AJAX es valido para aplicaciones con varios perfiles de usuario??

Hola amigos, os cuento mi problema. Como proyecto estoy realizando una aplicacion web grafica y interactiva utilizando el formato grafico svg.

Los graficos svg que utilizo en la aplicacion son planos de un edificio. La idea es que cuando pulso sobre una habitacion en el plano se ejecute una funcion javascript que pide al servidor mediante AJAX informacion relativa a esa habitacion. Una vez recibida la informacion esta se muestra de manera conveniente en la pagina web (tb mediante funciones javascript).

En resumen se trata de una pagina estatica donde todo el contenido que es dinamico se gestiona por funciones javascript y peticiones AJAX.

El uso de AJAX en esta aplicacion sobre todo se hace para evitar recargar la imagen del plano (que es bastante grande) en cada interaccion con la aplicacion.

Ahora viene el problema. En ciertos casos ademas de la informacion relativa tambien se mostrarian los formularios necesarios para el cambio de la informacion relaccionada con la aplicacion. El mostrar el formulario o no dependera del perfil de usuario que obtengamos. Pues bien me han dicho que es altamente inseguro hacer la gestion de perfiles (controlando lo que se puede y no se puede mostrar) en el cliente y que deberia hacerse en el servidor. Pero en mi web el contenido dinamico se gestionaba a traves de javascript y el servidor tan solo se encargaba de enviar respuestas codificadas en XML... por lo que me obligaria a replantear la aplicacion y usar AJAX lo justo y necesario.

Cual es vuestra opinion creeis que una Web con varios perfiles de usuario puede implementarse con AJAX de manera segura??
  #2 (permalink)  
Antiguo 11/10/2007, 20:33
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 18 años, 8 meses
Puntos: 2
Re: AJAX es valido para aplicaciones con varios perfiles de usuario??

AJAX es perfectamente válido para aplicaciones seguras teniendo en cuenta que AJAX es simplemente una petición HTTP normal como cualquier otra, pero asincrónica.

Lo que te dicen sobre la inseguridad de gestionar perfiles en cliente es cierto, pero la lógica de tu aplicación DEBE resolverse el en servidor, no en el cliente.
Tu servidor decide si enviará o no el formulario al cliente dependiendo de las credenciales de determinado usuario y luego tu servidor nuevamente decidirá si procesa o no los datos recibidos por ese formulario dependiendo otra vez de esas credenciales.

Puedes seguir utilizando AJAX en tu aplicación todo lo que quieras, pero qué cosas puede ver o hacer un determinado usuario lo decide siempre tu servidor, que es quien controla los accesos y privilegios de cada usuario.

Saludos.
__________________
R4DS en español | R4DS en inglés
  #3 (permalink)  
Antiguo 12/10/2007, 12:06
 
Fecha de Ingreso: febrero-2007
Mensajes: 14
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: AJAX es valido para aplicaciones con varios perfiles de usuario??

Ok, concretando un poco mas, a ver si lo he entendido bien:

Entonces si para un determinado perfil tengo que mostrar un formulario lo que tendria que hacer es generar el codigo xhtml del formulario en el servidor y la funcion receptora (callback) de ajax se encargaria de mostrar en la pagina web formulario tal como ha llegado. Ok, esa idea no se me habia ocurrido.

Lo unico que no cuadra bien con la idea que tenia para el funcionamiento de la aplicacion y habra que replantearla:

Habia pensado aplicar el patron Modelo - Vista - Controlador de la siguiente forma

- Modelo: Se compone de funciones de consulta y modificacion sobre la BBDD.Esta programado en un lenguaje de lado del servidor, concretamente es un servlet (java). Los datos se devuelven codificados en xml.

-Controlador: Responde a los eventos de la vista y invoca acciones en el modelo (a traves de llamadas AJAX). Esta implementado en javascript. Los resultados obtenidos del servidor los aloja en un objeto y llama a la vista para que se actualice.

- Vista: Funciones javascript que se encargaban de representar los datos obtenidos del modelo (los datos se encuentran en un determinado objeto javascript) dentro de la web.

Como la vista es la que cambia la pagina web tambien era la encargada de decidir lo que se debia y no se debia mostrar y ahi estaba el error porque este codigo son funciones javascript alojadas en el cliente.

Ahora con lo que me has dicho parte de la vista supongo que tendra que estar alojada en el servidor.

Es un gran consuelo saber que puedo seguir utilizando AJAX, el hecho de que parte de la vista estuviera en el servidor me hacia pensar que ese contenido html tendria que solicitarlo de la forma normal (sin ajax) y recargar de nuevo toda la pagina.

Muchas Gracias.
  #4 (permalink)  
Antiguo 12/10/2007, 13:47
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 18 años, 8 meses
Puntos: 2
Re: AJAX es valido para aplicaciones con varios perfiles de usuario??

No necesariamente tendrás que generar el código XHTML en servidor y enviarlo a cliente para mostrarlo tal cual. Creo que lo más útil en este caso es que tu servidor genere objetos JS en formato JSON (http://es.wikipedia.org/wiki/JSON) y los envie a cliente para ser utilizados.

Puedes estructurar tu aplicación con MVC sin problemas, pero deberás realizar una implementación del patrón de forma tal que todo lo que tenga que ver con privilegios de usuarios y otras cuestiones de seguridad se resuelva siempre en clases de tu servidor.
Todo lo que tenga que ver con decisiones de lo que se muestra y lo que no dependiendo de tales o cuales condiciones debería formar parte de tu controlador. Personalmente implementaría un controlador que incluya las vistas según corresponda, y estas vistas retornarían al cliente objetos JSON que implementen una determinada interfaz. Luego el cliente, al recibir el objeto, llamaría al método show() (para poner un ejemplo) y el objeto tendría la información necesaria para mostrarse en el sitio.

Haz la implementación que mejor se acomode a tus gustos, pero siempre ten en cuenta, como te han dicho, de nunca manejar datos críticos en cliente.

Saludos.
__________________
R4DS en español | R4DS en inglés
  #5 (permalink)  
Antiguo 12/10/2007, 18:34
 
Fecha de Ingreso: febrero-2007
Mensajes: 14
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: AJAX es valido para aplicaciones con varios perfiles de usuario??

Es decir, el controlador enviaría objetos JSON y la vista actuaría como "interprete" de esos objetos mostrando lo que estos representan: información con algun tipo de formato, un formulario, etc .... muy interesante, me parece una buena idea.

Ahora puedo replantear la aplicacion pero se que aun puede usar AJAX y tb cumplir el patrón MVC. La verdad es que cuando escribi el primer POST estaba al borde de un ataque de nervios pensando en que tenia que replantear toda la aplicacion de nuevo y que lamentablemente no podia usar AJAX.

Muchas gracias de nuevo y un saludo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:48.