Pregunta

Estoy diseñando un sistema de punto de venta para una pequeña tienda.La tienda solo tiene un punto de venta, pero a menudo hay entre uno y tres usuarios (vendedores) en la tienda.Cada usuario tiene su propia cuenta de usuario en el sistema, por lo que inicia y cierra sesión con mucha frecuencia.¿Cómo debo diseñar bien el sistema de inicio y cierre de sesión?

Por el momento, los usuarios no utilizan contraseñas porque lleva mucho tiempo escribir la contraseña cada vez que inician sesión.

La plataforma es Windows Vista, pero también me gustaría admitir Windows 7.Usamos Active Directory en la Red.El sistema está desarrollado en Java/Swing por el momento, pero estoy pensando en cambiar a C#.NET/WPF.

Estoy pensando en una solución SmartCard, pero no sé si se adapta a mi situación.Sería más seguro (lo cual me gusta) pero no sé si será fácil de implementar y de usar, es decir.¿Puedo tener el sistema POS ejecutándose en segundo plano o iniciarlo muy rápidamente cuando los usuarios cambian?¿Son muy caras las soluciones SmartCard?(Mis clientes son tiendas pequeñas) ¿Se prefiere utilizar .NET o Java en una solución SmartCard?

¿Qué otras soluciones tengo además de contraseñas/sin contraseñas/tarjetas inteligentes?

  • ¿Cómo debo diseñar bien el sistema de inicio y cierre de sesión?
  • ¿Existe alguna buena solución que utilice tarjetas inteligentes para este propósito?
  • Me gustaría sugerir soluciones tanto para plataformas C#.NET/WPF como Java/Swing.
  • Me gustaría sugerir soluciones tanto para soluciones de Active Directory como para soluciones que solo usan un perfil de usuario en Windows.

¿Cómo se soluciona este problema en productos similares?Sólo he visto soluciones de contraseña, pero son torpes.

¿Fue útil?

Solución

Una solución interesante es el uso de "cambio rápido de usuario", es decir, la capacidad de tener múltiples sesiones de usuario se abren en el mismo PC. El software de la posición podría ser lanzado a través de la carpeta de inicio de cada cuenta de vendedor y permanecería activo en cada sesión vendedor.

I pensó que estar en un dominio (es decir, utilizando Active Directory) desactiva cambio rápido de usuario, pero de acuerdo a La vieja cosa nueva , esto era cierto en XP solamente. Acabo de comprobar con mi máquina Win7 en el trabajo:. Se encuentra en un dominio, pero aún tiene la opción de menú "Cambiar de usuario"

La principal ventaja es que si su software es ya de varios usuarios al tanto, no es necesario cambiarlo.

Debería haber hecho el cambio rápido de usuario cheque antes de escribir lo que está abajo, porque esto parece ser la solución más sencilla. Aquí hay otras ideas, de todos modos.

Otra solución es lo que mencionas de tener un único usuario de Windows pero varios "usuarios virtuales" que su aplicación gestiona. Una tarjeta inteligente es una buena manera de poner en práctica un pseudo-inicio de sesión. En C ++, la API permite la detección de la eliminación o inserción de una tarjeta, por lo que la aplicación puede detectar esto y leer la tarjeta después de la inserción saber quién está actualmente en frente de la computadora. .NET puede llamar fácilmente esta API a través de P / Invoke; No sé mucho de Java, excepto que JNI podría ser una solución a llamar a la API nativa si existe ninguna biblioteca administrada que publica esta capacidad. Lo que se debe hacer es investigar los diferentes tipos de tarjeta y la forma de hablar con ellos, ya que su aplicación debe utilizar una tarjeta que no requiere un PIN para acceder (o que están de vuelta al sistema de inicio de sesión lento, salvo que atar un 4 número de dígitos no se considera demasiado lento).

He visto restaurantes donde los camareros de inserción de la llave en la caja registradora con el fin de ser identificados. Busqué en Google "cajas registradoras" pero sólo pude encontrar un paquete completo de soluciones, en lugar de los componentes como un lector de llave.

Una pregunta casi idiota es: ¿cuánta seguridad se puede pedir? ¿Tiene sentido tener botones grandes en la primera pantalla de la aplicación, donde la gente hace clic con el fin de indicar al sistema que son? Cuando han terminado, hacer clic en un botón "Finalizar" y la aplicación se remonta a la pantalla de "identificar". He puesto esto al final porque es tan simplista que tiene una baja probabilidad de ser útiles.

Otros consejos

No estoy familiarizado con una amplia gama de soluciones de proveedor de tarjetas inteligentes, pero sé Gemalto tiene una configuración amigable .Net. La mayoría de los otros están orientados a Java, pero el apoyo se está ensanchando.

En cuanto a la conmutación de las sesiones de usuario y su aplicación, que depende de la "pesada" que su aplicación es. Si su aplicación requiere un poco de tiempo de arranque / recursos entonces usted podría considerar la creación de la aplicación básica como un servicio en la máquina que puede ejecutarse en segundo plano de forma continua y entonces se puede cargar una interfaz de usuario de poco peso para interactuar con el servicio con cada sesión de usuario (tal vez en marcha a través del menú de inicio).

Hay un proyecto C # en CodeProject que proporciona un marco para interactuar con los servicios de tarjetas inteligentes en las ventanas -. podría ser una lectura interesante

Tuve la oportunidad de trabajar con el Biblioteca de visión por computadora de código abierto (OpenCV)en uno de mis proyectos anteriores y lo que buscas es "Reconocimiento facial".Está escrito con código nativo, pero se puede utilizar fácilmente con Java, .NET, Android e iOS.Todo lo que necesitas es una cámara web y un botón "Cambiar de usuario" con onClickListener que tomará una fotografía y la comparará con las imágenes de tus empleados.¿Ventaja?Una vez tomada la fotografía, se procesa en menos de 10 ms.Y como Timores mencionó anteriormente, una vez que se reconoce la cara, simplemente cambia la sesión.Solución simple pero efectiva.¡Buena suerte!

tal vez usted quiera pensar en usar el escáner de código de barras ... probablemente ya dispone de este dispositivo en puntos de venta ... mi software para los bares y restaurantes de utilizar el escáner de código de barras para reconocer a los usuarios. Tienes 2 opciones para el uso: en primer lugar, el usuario debe iniciar sesión con tarjeta de código de barras propio, entonces se puede utilizar la aplicación ... la segunda es mejor, todo el mundo puede usar, pero para imprimir el recibo de usuario debe utilizar la tarjeta de código de barras. Después de entonces él es el responsable de esa cantidad en este recibo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top