none
validar solo clave solo adm para ingresar a un form RRS feed

  • Pergunta

  • hola, estoy tratando de ingresa a un formulario, pero si no es del usuario con provilegio des adm o super no puede ingresar siempre que ponga una contraseña.

    lo logré hacer, almacenando en una lista las contra de adm y supervisores. una vez doy aceptar abre el form, de lo contrario sale error y vuelve.

    el problema es como recorro la lista con un foreach, pongo la contrseña correcta y se queda este form de validacion pegado, por las veces que recorre la lista.

                                                         

       private void btnAceptar_Click(object sender, EventArgs e)
            {

                if (txtPWD.Text == "")
                {
                    MessageBox.Show("Contraseña vacía");
                }
                else
                {

                    foreach (string s in pwd)
                    {
                        if (txtPWD.Text == s)
                        {
                            //pwdOK = true;

                            MessageBox.Show("Contraseña AUTORIZADA! \n puede continuar...");

                            DescargaLoteSinPrecio des = new DescargaLoteSinPrecio(idusuario, idtipou);
                            des.Show();

                            this.Close();
                        }
                        else
                        {
                            //pwdOK = false;
                            MessageBox.Show("ERROR, contraseña NO autorizada");
                            txtPWD.Text = "";
                            txtPWD.Focus();
                            btnAceptar.Enabled = false;

                        }
                    }


                }

            }

    como podria hacer, si sugieren de una mejor forma o mejorar ese codigo.

    segunda-feira, 10 de fevereiro de 2020 23:04

Todas as Respostas

  • Lo solucione utilizando un datatable o dataset se ahi comprar toda la columna contraseña
    terça-feira, 11 de fevereiro de 2020 00:06
  • hola

    >>almacenando en una lista las contra de adm y supervisores. una vez doy aceptar abre el form, de lo contrario sale error y vuelve

    No entiendo porque contienes las contraseñas en una lista, eso no esta bien

    no se bien que estas queriendo conseguir porque me suena raro el camino que describes, se supone que la seguridad base en una base de datos o en un medio persistente al cual puede consultar

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    terça-feira, 11 de fevereiro de 2020 00:15
  • Julio!

     ¿Como estás? Según lo que leí en tu publicación quieres hacer un area "restringida" la cual sea controlada por un sistema de usuario y clave. Para ello si estas trabajando en WindowsForms puedes hacer lo siguiente:

    1 - Crear un proyecto WindowsForms.

    2 - Agregar un formulario el cual oficiara de panel de administrador .

    3 - En el formulario que se creo inicialmente al crear la solución agregas el sistema de validación y en base al resultado de ella abres el form del paso 2 o no.

    Para el sistema de validación lo mejor es hacerlo contra base de datos o ws en todo caso , creas una función que devuelva un simple true o false (bool) y en función de ello haces x acción (abrir formulario panel) o no.

    Siempre al almacenar una clave recuerda encriptarla , nunca TEXTO PLANO ya que nunca sabes quien puede tener acceso a esos datos realmente por más que uno sea excelente administrando la seguridad del servidor , etc.

    También otro complemento de seguridad que se puede agregar es crear un hash obteniendo por ejemplo ID del disco duro ,dirección mac , id de placa base y luego en cada login ademas de validar el usuario y clave , validas que ese hash concuerde con el permiso que almacenaste en tu base , si coincide prosigues con el login y sino trabas el acceso.

    Otra cosa útil es poner un contador de intentos de acceso , cuando alcanza x cantidad bloqueas el usuario y debe comunicarse con un admin para destrabarlo.

    Espero que te ayuden estás ideas.


    quarta-feira, 19 de fevereiro de 2020 17:44