示例#1
0
        /// <summary>
        ///     ''' Evento click del boton que inicia el cambio de contraseña
        ///     ''' </summary>
        ///     ''' <param name="sender"></param>
        ///     ''' <param name="e"></param>
        ///     ''' <remarks></remarks>
        private void lklCambiarPsw_LinkClicked(System.Object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
        {
            if (ModUsuario.SessionUsuarioAD)
            {
                MessageBox.Show("En cuentas de Active Directory no es posible realizar el cambio de contraseña desde el sistema.", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                return;
            }

            frmCambioPsw frmCambiopassword = new frmCambioPsw();

            frmCambiopassword.ShowDialog();
        }
示例#2
0
        /// <summary>

        ///     ''' Evento al mostrarse el formulario

        ///     ''' </summary>

        ///     ''' <param name="sender"></param>

        ///     ''' <param name="e"></param>

        ///     ''' <remarks></remarks>



        private void btnEntrar_Click(System.Object sender, EventArgs e)
        {
            string strMensaje = "";

            try
            {
                if (ValidaDatos())
                {
                    // Analizar el login del usuario para ver si es correcto o no
                    ClsFunciones fn      = new ClsFunciones();
                    string       mensaje = "";

                    // Encriptamos la contraseña a MD5
                    string passwEncr = fn.GetMD5Hash(txtPassword.Text.Trim());

                    // Consultamos información del usuario para saber si existe y que tipo de usuario es (Sistema o Active Directory)
                    Sis.USUARIOS ObjUsuario = new LnSistema(ConfigurationManager.AppSettings["UserLogin"],
                                                            ConfigurationManager.AppSettings["PswLogin"]).ConsultaUsuarioLogin(txtUsuario.Text.Trim());

                    if (strMensaje != "")
                    {
                        throw new Exception(strMensaje);
                    }

                    var ParametrosGrales = new LnSistema(ConfigurationManager.AppSettings["UserLogin"],
                                                         ConfigurationManager.AppSettings["PswLogin"]).ConsultaDatosAdmorseg();

                    ObjLnSistemaAdmin = new LnSistema(ParametrosGrales.UsuarioAdmSeg, ParametrosGrales.PswAdmSeg);

                    // Enviamos los datos a una funcion que valida si la contrasela y usuario son correctos
                    if (ValidaLogin(txtUsuario.Text.Trim(), passwEncr, ref mensaje))
                    {
                        BlCambio = false;

                        if (ModUsuario.SessionCambioContrasena)
                        {
                            MessageBox.Show("Su contraseña ha sido restablecida con anterioridad, por favor cambie su contraseña a una mas segura", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            BlCambio = true;
                        }
                        TimeSpan ts = DateTime.Now - ModUsuario.SessionFechaCambioContrasena;

                        if (ts.TotalDays > ModUsuario.SessionObjEnParametrosGrales.PswVigencia & BlCambio == false)
                        {
                            MessageBox.Show("La Contraseña ha caducado, por favor cambie su contraseña", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            BlCambio = true;
                        }



                        if (BlCambio == true)
                        {
                            frmCambioPsw frmCambiopassword = new frmCambioPsw();
                            frmCambiopassword.ShowDialog();
                            BlCambioPsw = frmCambiopassword.CambioPassword;
                        }

                        Close();
                    }
                    else
                    {
                        MessageBox.Show(mensaje, "Datos Incorrectos", MessageBoxButtons.OK, MessageBoxIcon.Warning);

                        // Revisamos el numero de intentos
                        _intento += 1;
                        if (_intento == _maxIntentos)
                        {
                            // Bloqueo de usuario por intentos fallidos
                            Ent.PARAMETROS_GRALES objParamGrales;
                            Sis.USUARIOS          objenusuario = new Sis.USUARIOS();

                            try
                            {
                                // Se consultan datos de usuario con permisos de bloqueo (usuario administrador de seguridad
                                objParamGrales = new LnSistema(ConfigurationManager.AppSettings["UserLogin"],
                                                               ConfigurationManager.AppSettings["PswLogin"]).ConsultaDatosAdmorseg();

                                // Bloquear usuario
                                LnSistema objlnUsuario = new LnSistema(objParamGrales.UsuarioAdmSeg, objParamGrales.PswAdmSeg);
                                objenusuario.NombreUsuario = txtUsuario.Text;

                                objlnUsuario.BloqueoUsuario(objenusuario);

                                // Notificar acción
                                MessageBox.Show("Usuario bloqueado por intentos fallidos, contacte a su Administrador de sistemas", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                Close();
                            }
                            catch (Exception ex)
                            {
                                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                Close();
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);
            }
        }