Seguridad en Vaadin 15 integrada con Jakarta EE

¿Alguien sabe cuál es la forma correcta de gestionar la seguridad si usamos Vaadin 15 y desplegamos nuestra aplicación en Jakarta EE?:

  - Quiero utilizar la clase LoginOverlay pero NO creo que sea la opción correcta... ¿O sí lo es?  ¿cómo debo utilizarla?:  He configurado un "realm" en una distribución de Glassfish 5.1 con una base de datos MySQL
  - ¿Ha desaparecido la clase JaasAccessControl del Vaadin 15?  ¿Cómo puedo "ejecutar un login" desde una clase de Vaadin si no tengo esta clase?
  - NO QUIERO utilizar el framework Spring simplemente por el echo de necesitar un mecanismo seguro de autentificación

Bajo estas condiciones, ¿cómo se debe gestionar la seguridad utilizando el Framework Vaadin?

Muchas gracias

Hola Juan!

Vaadin es agnóstico a algún framework de seguridad, por más de que trae soporte para spring.

Para poder implementar seguridad (usando otra cosa que no sea spring-security) en un sistema web usando Vaadin deberías:

  • Restringir el acceso web mediante algún tipo de filtrado de urls para proteger la sección “privada” de tu aplicación
  • Implementar una pantalla de login, acá hay dos alternativas: 1) Usar vaadin-login, para ejemplos [consultar acá]
    (https://vaadin.com/components/vaadin-login/java-examples). 2) Construir tu propia página de login externa a vaadin que luego de validar las credenciales te redireccione a la parte privada de la aplicación. En los dos casos deberías invocar al framework de seguridad que quieras a algún método que te valide las credenciales.

JaasAccessControl es una clase que estaba en versiones más viejas del addon de CDI de Vaadin. CDI es la alternativa JEE a Spring. Si bien hay una versión actualizada para Vaadin 14+ de CDI, no veo que tenga sopore para la parte de seguridad.

Hola Martín.

 Muchísimas gracias por atender mi consulta.
 
 Voy a seguir tu consejo:  Voy a utilizar la pantalla de login de Vaadin del ejemplo que has pasado y voy a tratar de utilizar Java EE con esta pantalla.  Luego veré si he provocado alguna vulnerabilidad.
 
 Muchísimas gracias por tu aportación.
 
 Un saludo.