コード例 #1
0
        private void btnAceptar_Click(System.Object sender, System.EventArgs e)
        {
            if (valida())
            {
                ClsFunciones fn        = new ClsFunciones();
                string       strNvaPsw = fn.GetMD5Hash(txtPwsNueva.Text);


                LnSistema    objlnUsuario = new LnSistema(ModUsuario.SessionObjEnParametrosGrales.UsuarioAdmSeg, ModUsuario.SessionObjEnParametrosGrales.PswAdmSeg, ModUsuario.SessionIdUsuario);
                Sis.USUARIOS objenUsuario = new Sis.USUARIOS
                {
                    IdUsuario        = ModUsuario.SessionIdUsuario,
                    CambioContrasena = "0",
                    Password         = strNvaPsw,
                    UsuarioAD        = false
                };

                try
                {
                    objlnUsuario.ABCUsuarios('D', objenUsuario);

                    MessageBox.Show("La contraseña ha sido cambiada correctamente", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    ModUsuario.SessionPassword = strNvaPsw;
                    ModUsuario.SessionObjEnDatosConn.Password = strNvaPsw;
                    CambioPassword = true;

                    Dispose();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                txtPwsNueva.Text        = "";
                txtPswConfirmacion.Text = "";
            }
        }
コード例 #2
0
ファイル: frmLogin.cs プロジェクト: BrenMl/windowsForm
        /// <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);
            }
        }