public static int corroborarDatos(String user, String contra) { String query = String.Format("SELECT usuario_nombre, usuario_password, usuario_logins_fallidos, usuario_estado FROM GD2C2018.SQLEADOS.Usuario where usuario_nombre like '" + user + "'"); DataSet usersEncontrados = DBConsulta.ConectarConsulta(query); if (DBConsulta.dataSetVacio(usersEncontrados)) { MessageBox.Show("No existe el usuario"); return(-1); // NO ENCONTRO NADA, NO HACE NADA } String nombreUser = usersEncontrados.Tables[0].Rows[0][0].ToString(); byte[] pass = (byte[])usersEncontrados.Tables[0].Rows[0][1]; String intentos_fallidos = usersEncontrados.Tables[0].Rows[0][2].ToString(); String estadoUser = usersEncontrados.Tables[0].Rows[0][3].ToString(); int nrointentos = Convert.ToInt32(intentos_fallidos); if (estadoUser == "0") { MessageBox.Show("Su usuario está bloqueado \nComuniquese con un administrador"); //USER BLOQUEADO, NO SE HACE NADA PERO SE IMPOSIBILITA SU ENTRADA return(-2); } else { if (!coincidenContrasenias(pass, contra)) { MessageBox.Show("Usuario o contraseña incorrecto\n\nLimite de tolerancia de intentos fallidos hasta ser bloqueado: 3 \nLogins fallidos cometidos por usted: " + (nrointentos++).ToString()); if (nrointentos < 3) { String subirIntentosFallidos = String.Format("UPDATE GD2C2018.SQLEADOS.Usuario SET usuario_logins_fallidos = usuario_logins_fallidos + 1 where usuario_nombre like '" + user + "'"); DBConsulta.ModificarDB(subirIntentosFallidos); } else { String subirIntentosFallidos = String.Format("UPDATE GD2C2018.SQLEADOS.Usuario SET usuario_estado = 0 where usuario_nombre like '" + user + "'"); DBConsulta.ModificarDB(subirIntentosFallidos); } return(0); // DEBE SALTAR UNA VENTANA QUE MLA LA CONTRA Y EN CORRESPONDENCIA SUBE EL CONTADOR // DE LOGIN } MessageBox.Show("Bienvenido: " + nombreUser); //Borrar todos los contadores de Logins fallidos para el usuario que ingresó String resetearCampoLoginsFallidos = String.Format("UPDATE GD2C2018.SQLEADOS.Usuario SET usuario_logins_fallidos = 0 where usuario_nombre like '" + user + "'"); DBConsulta.ModificarDB(resetearCampoLoginsFallidos); if (userTieneMasDe1Rol(ObtenerRoles(user))) { // SIGNIFICA QUE EL USUARIO TIENE MAS DE 1 ROL, ABRE VENTANA DE SELECCION DE USER return(2); } return(1); } }
internal static bool nombreUserDisponible(String nombre) { String query = String.Format("SELECT usuario_nombre FROM SQLEADOS.Usuario where usuario_nombre like '" + nombre + "'"); DataSet usersEncontrados = DBConsulta.ConectarConsulta(query); if (DBConsulta.dataSetVacio(usersEncontrados)) { MessageBox.Show("Usuario Disponible"); return(true); // NO ENCONTRO NADA, NO HACE NADA } return(false); }
public static DataSet ObtenerRoles(String user) { String query; if (user == "") { query = String.Format("Select distinct r.rol_nombre from SQLEADOS.Rol r"); } else { query = String.Format("Select r.rol_nombre from SQLEADOS.Rol r JOIN SQLEADOS.UserXRol ux on ux.userXRol_rol = r.rol_Id JOIN SQLEADOS.Usuario u ON u.usuario_Id = ux.userXRol_usuario where u.usuario_nombre LIKE '" + user + "'"); } return(DBConsulta.ConectarConsulta(query)); }
public static DataSet ObtenerRolesSinAdmin() { String query = String.Format("Select distinct r.rol_nombre from SQLEADOS.Rol r where rol_Id > 0"); return(DBConsulta.ConectarConsulta(query)); }