Implementar una aplicación en JavaFX que permita el inicio de sesión, aplicando el patrón de diseño MVC.
La interfaz deberá ser "responsive" y su aspecto será el siguiente:
Para la contraseña se deberá utilizar el componente "PasswordField" en lugar de "TextField".
La casilla de verificación "Usar LDAP" permite indicar si se buscarán los usuarios en el fichero o en el servidor LDAP.
Al pulsar el botón "Acceder" se validarán las credenciales. Si son válidas, se mostrará un mensaje indicando "Acceso permitido" y se terminará el programa.
En caso de no ser válidas, se mostrará el mensaje "Acceso denegado" y se eliminará el contenido del cuadro de texto de la contraseña.
Al pulsar el botón "Cancelar" terminará la aplicación.
Hacer un fork del repositorio Login y trabajar sobre el mismo.
Los usuarios válidos se encontrarán en el fichero "users.csv" en formato CSV (Comma Separated Values), donde el primer campo será el nombre del usuario y el segundo la contraseña cifrada en MD5.
cnorris,FAEC7E0D3E50500CE810A4B47EFADC97
cbronson,D0EF51379636616A1E351FA3BEC115E6
dcarradine,1671C6AE4EEDF7FE0197935AECBBB400
Las contraseñas irán cifradas mediante el algoritmo MD5. Éstas no se pueden descifrar, sino que lo que haremos será cifrar en MD5 la contraseña introducida y comprobar que coincide con la del fichero.
Para ello usaremos la librería Commons Codec de Apache:
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.13</version>
</dependency>
Ejemplo de uso:
String password = "ILoveJava";
String md5 = DigestUtils.md5Hex(password).toUpperCase();
System.out.println("Password cifrado: " + md5);