El mejor enfoque para autenticarse con un formulario de inicio de sesión para usuarios y sin formulario de inicio de sesión para anónimos

Tengo que construir una aplicación web que muestre algunos datos. Tendré dos tipos de usuarios: usuarios registrados y usuarios anónimos. Los usuarios registrados ejecutarán la aplicación desde la intranet de la empresa, y los usuarios anónimos ejecutarán la aplicación desde Internet. Los usuarios registrados verán más datos que los anónimos.

Necesito un formulario de inicio de sesión para registrar usuarios (para saber quién está viendo los datos), pero cuando un usuario anónimo utilizará la aplicación, el formulario de inicio de sesión no debe aparecer.

En la misma aplicación web, la primera pantalla debe ser un formulario de inicio de sesión, pero en algunos casos el formulario de inicio de sesión no debe aparecer. ¿Cuál es la mejor manera de hacer eso?

Estoy usando Vaadin (marco de Java basado en GWT) para desarrollar mi aplicación. Creo que una buena manera de hacerlo es verificar la URL del navegador, pero no estoy seguro de si es el mejor enfoque.

Respuesta 1

Justo como dice McOmghall. Puede obtener la IP del usuario llamando a:

WebBrowser b = (WebBrowser) getMainWindow().getTerminal().
String ip = b.getAddress();

o (en su clase de aplicación):

WebBrowser b = ((WebApplicationContext) getContext()).getBrowser();
String ip = b.getAddress();

Luego puede usar Jakara Commons Net para verificar si la dirección IP se encuentra en la subred de su empresa (por ejemplo 192.168.0.0/24):

SubnetInfo subnet = (new SubnetUtils("192.168.0.0", "255.255.255.0")).getInfo();
boolean test = subnet.isInRange(ip);

Aquí hay otra solución genial que no requiere el uso de bibliotecas de terceros.

Fuente 1

Fuente 2

Respuesta: 2

Lo siento por mi pregunta tal vez tonta. Tengo tablas de productos y pedidos (con una relación de muchos a muchos), también tengo una tabla de usuario. Y ahora quiero obtener el recuento de productos por user_id y por ...

Estoy trabajando en el nivel medio de la empresa. Uso el Rational Software Architect (RSA) 7.5.5 y quiero usar los "FINDBUGS". ¿Cómo puedo agregar el complemento en el RSA? Ahora lo descargué. No lo sé ...

Tengo JSONArray de la siguiente manera: [["título", "detalles"], ["abc", "xyz"], ["abc2", "xyz2"]] Cómo transformarse en una matriz de JSONObject como se muestra a continuación utilizando Java / JavaScript ? [{'title': abc, 'details': xyz,}, {'...

Quiero firmar dos docenas de archivos jar usando jarsigner, dando la contraseña solo una vez. No es posible dar múltiples archivos a jarsigner, de acuerdo con la página del manual y usar un bucle for en el comando ...