2012-01-21 12 views
6

¿Dónde puedo almacenar los parámetros de configuración en el lado del cliente? No tengo la posibilidad de almacenar parámetros en los parámetros init de Servlet (web.xml) (porque debo usar PHP). Entonces, ¿cómo puedo almacenar los parámetros de la aplicación init (por ejemplo, la ubicación del script PHP, algunas contraseñas, etc.) en el lado del cliente?¿Dónde encontrar los parámetros de configuración en GWT?

Respuesta

4

Para hacer esto usted tiene unos datos siguientes opciones:

  1. en tienda a tipos código del lado del cliente. GWT compila hasta el javascript y la forma más sencilla de hacerlo es crear una clase Configuration con valores codificados.
  2. Almacenar datos en un navegador. Puede usar cookies o HTML5 local storage
  3. Almacenar datos en un servidor y recuperarlos utilizando RPC remoto.

Recomendaría que vaya con la tercera opción.

+0

gracias, pero ¿qué pasa con algún archivo, donde puedo cambiar las URL de la ubicación del script php DESPUÉS de compilar? Problema con la clase de configuración no es bueno. Para recuperar información del servidor, mi aplicación necesita saber la URL del servidor :) No quiero codificar la URL del servidor, quiero excluirla en algún archivo, que se puede leer en RUNTIME/ – MyTitle

+0

El código de GWT es java y debe compilarse y no hay archivos de propiedades en el lado del cliente. La alternativa es almacenar información en algún archivo JS que pueda reemplazarse en tiempo de ejecución. –

1

¿Almacenar contraseñas en el lado del cliente? OK, si quieres Solo crea una clase que los contenga, podría ser un campo estático o un objeto singleton con todos los parámetros. Podría incluso ser el que tiene entryPoint().

1

La manera estándar, simple y fácil de almacenar parámetros no constantes (como contraseñas o datos de usuario) en el lado del cliente son las cookies. Ver Cookies

parámetros constantes que se pueden almacenar en hardcode (campos estáticos en una clase) o en resoures .properties archivos (See GWT i18n constants interface).

PD: No le recomendaré que almacene la contraseña en el lado del cliente "tal cual" (no es seguro), en su lugar puede almacenar el hash de la contraseña (md5, por ejemplo). Simplemente calcule el hash de contraseña en el lado del servidor y almacene este hash en las cookies.

2

Probablemente estará muy contento de usar las clases de Diccionario y Cookie en GWT.

En su archivo de alojamiento html, mantiene algunos objetos javascript declarados como var.

En la carga del módulo, llame a la clase de diccionario para obtener los objetos javascript que ha definido para almacenar sus datos de configuración.

De esta manera, podría tener una configuración del usuario o del contexto administrada, ya que ocasionalmente uso JSP para generar el archivo de alojamiento. Pude gestionar la configuración del usuario como cookies del lado del servidor almacenadas en una base de datos.

Entonces, hoy es jueves ... el usuario tiene un historial de visitar el sitio web de Manchester Utd FC cada jueves, etc., permítame darle al usuario una configuración diferente basada en el contexto/algoritmo sensible al usuario. Y los lunes por la mañana, la configuración del usuario incluiría datos de anuncios para bebidas energéticas de 10 horas.

De esta manera, su cliente gwt no tendría que solicitar datos de configuración sensibles al contexto del servidor.

Pero, por supuesto, esta no es forma de almacenar datos de autenticación/seguridad como las contraseñas. No creo que deba siquiera considerar almacenar datos de autenticación/seguridad en el código del lado del cliente. Incluso después de la ofuscación de JavaScript, almacenar dichos datos de esta manera es una invitación abierta a la persistencia de la intención maliciosa. Dichos datos, si se desea el almacenamiento del lado del cliente, serían mejor atendidos por las cookies del lado del cliente, utilizando las Cookies de la clase GWT.

0

Puede usar MultiValuedConfigProperties (vea también this other helpful tutorial) para almacenar valores de configuración. Utilizándolos, puede almacenar su configuración en el archivo de configuración .gwt.xml de su módulo. Los valores de configuración se compilarán en la salida de JavaScript.

Cuestiones relacionadas