2008-10-30 11 views
7

Nuestra empresa hace la aplicación basada en web que tiene un precio por estación de trabajo.SAAS por autenticación de asiento

Eso significa que las credenciales de usuario/pase solo deben usarse desde una máquina en particular.

Actualmente lo que está sucediendo que varios usuarios compartan credenciales y que no tienen ninguna manera de prevenir esto si no lo están haciendo al mismo tiempo.

La naturaleza de la aplicación es tal que el usuario debe usarla de vez en cuando, por lo que la incapacidad para trabajar simultáneamente no molesta demasiado a los usuarios y la empresa pierde sus posibles ingresos.

La aplicación actualmente es puramente AJAX sin flash/activeX/applets de Java.

La solución ideal sería leer el nombre o la dirección IP del cliente con javascript usando la interfaz de secuencias de comandos "Shell.Network".

Pero esto es imposible debido a la estricta configuración de seguridad en Internet Explorer. Debo mencionar que la funcionalidad de navegador cruzado no importa y el único navegador compatible es IE.

la búsqueda en Google me encontré con esta solución aquí http://www.reglos.de/myaddress/MyAddress.html pero requiere applet de Java por lo que no será muy conveniente.

¿Hay alguna otra solución para esto?

Respuesta

3

Establezca una cookie en la máquina con una identificación. Recupere la cookie cada vez que el usuario inicie sesión. Si ve varias cookies diferentes alternando para un solo usuario, sabrá que tiene algo extraño.

(Por supuesto, un solo interruptor solo puede significar que se han movido a un nuevo PC como uno fuera.)

Alternativamente, el precio por el uso, 'consulta' o algún otro elemento.

+0

Parece que la solución basada en cookies sería la mejor. Lo probaremos – SparcU

0

No hay una respuesta fácil ya que sus clientes (el software) son efectivamente anónimos y los usuarios se identifican a sí mismos.

IE le "bloquea" (no soy un experto en IE), pero ¿no se puede establecer la configuración de IE para dominios particulares? Simplemente podría hacer que sea un requisito que los usuarios configuren sus navegadores para darle a su aplicación un acceso superior.

No veo ninguna razón por la cual no se puede tener ciertos requisitos para el navegador de los usuarios (es decir, solamente IE 6/7/8, esta configuración de seguridad, etc.).

4

Su modelo de licencia no es coherente con el modelo de entrega. Cambia uno de ellos.

+0

+1, porque la red no tiene estado. Ya es bastante difícil seguir a un solo usuario. –

+0

¿Qué tipo de cambio sugerirías? –

1

Este tipo de abuso probablemente se puede detectar moderadamente eficaz utilizando la técnica Cookie que RichH sugirió. Al menos, el abuso flagrante se puede detectar con bastante facilidad (digamos 10 usuarios con licencia, 100 usuarios reales).

Pero, por supuesto, no se bloquean al usuario fuera, simplemente vigilando la situación y conseguir que su personal de ventas para acceder a lo que sugiere que comprar más licencias.

que hacemos exactamente lo mismo (en términos de la concesión de licencias y entrega), y estoy seguro de que tiene buenas razones de negocio para no cambiar su modelo.

1

Seguimiento a través de sesiones por usuario. No permita múltiples sesiones a un solo usuario.Para lograr esto, deberá guardar la ID de la sesión en la base de datos y verificar cada vez que un usuario inicie sesión.

Para ayudar a los usuarios que a veces tienen un navegador bloqueado y volver a iniciar sesión con la nueva sesión, les permite cerrar sesión anterior ... para que pueda matar la sesión anterior y registrar la nueva.

Espero que esto sea útil.

Cuestiones relacionadas