2009-08-28 10 views
15

¿Cuáles son las mejores estrategias para proteger su aplicación GWT + Tomcat para realizar autenticación y autorización?GWT y Autenticación

Respuesta

14

Therea son dos estrategias básicas:

  1. asegurar los puntos de entrada;
  2. proteja los servicios remotos.

Asegure los puntos de entrada

La forma más sencilla es restringir el acceso a los archivos html/js generados por GWT utilizando herramientas de seguridad de aplicaciones web regulares:

  • Spring Security;
  • restricciones web.xml.

Esto puede permitirle tener una p. Ej. AdminEntryPoint y UserEntryPoint.

asegurar los servicios remotos

Si la solución anterior no es suficiente, se puede cavar más profundo. Lo he hecho con Spring Security. No he encontrado una forma 100% limpia de integrar Spring Security con GWT, así que agregué un poco de pegamento. Brevemente:

  • creado una anotación @AllowedRoles que enumera las funciones de usuario se permite acceder a que método de servicio;
  • creó un UserDetailsService que permite la inspección del usuario actual (ver the SecurityContextHolder javadoc para más detalles);
  • creó un aspecto de resorte que coincide con todos los métodos anotados con la anotación antes mencionada. Utiliza el servicio para recuperar los roles del usuario actual y arroja una excepción marcada para señalar un acceso ilegal;
  • modificó todos los métodos de servicio para arrojar la excepción de seguridad.
+2

Robert, ¿podría darnos el código de muestra del aspecto mencionado? (es donde he topado) –