none
[Ayuda] Desarrollo de usuario y contraseña en c#

    Question

  • Hola Necesito una ayuda para crear un usuario y contraseña en c# como proyecto escolar esta es la ventana

    Entonces quiero que haga estas condiciones:

    1- Que tenga dos Usuarios

    2.- Que el evento "keydown" acepter "Enter" en los textbox para iniciar y "Esc" para salir

    3.- Que sean tres intentos y luego muestre un error y se cierre.

    4.- Que boton ayuda muestres cuales son los usuarios disponibles con su contraseña y entrar inicie una nueva ventana y cierra esta ventana

    5.- Que cuando escriba la contraseña se muestre no se muestre el caracter con el que se escribe

    Nota.- Se uso una ventana anterior para llegar a esta pero esta oculta

    Gracias por su atencion este es el codigo por si lo necesitan

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace Llanteria
    {
        public partial class LlanteriaRichart : Form
        {
            public LlanteriaRichart()
            {
                InitializeComponent();
            }
    
            private void btAyudaGr_Click(object sender, EventArgs e)
            {
    
            }
    
            private void btInicioGr_Click(object sender, EventArgs e)
            {
    
            }
    
            private void tbContraGr_TextChanged(object sender, EventArgs e)
            {
    
            }
    
            private void tbUserGr_TextChanged(object sender, EventArgs e)
            {
    
            }
    
        }
    }
    


    Siento no darle mas codigo pero esto es todo lo que pude hacer

     


    Sunday, November 06, 2011 4:48 AM

Answers

  • Hola Gustavo, buenas noches.

     

    1- Que tenga dos Usuarios: Los usuarios, los registras en la base de datos, como usuarios del Motor y en una tabla con los usuarios que quieras (Tabla: Usuarios: IdUsuario, Nombre completo del Usuario, Usuario, Password...) Al controlar el ingreso si el usuario no esta registrado no entra al sistema.

    2.- Que el evento "keydown" acepter "Enter" en los textbox para iniciar y "Esc" para salir: Para este caso seria cada vez que presionas una tecla. segun mi corta experiencia, tendrias que usar el keypress y asi para entre los textbox segun tengas los tabindex y asi llegarian al Enter. El ESC para salir no recuerdo bien como se hace. generalmente no lo uso y controlo la "cruz" al salir, cosa que veo en que estado esta la pantalla y pregunto si quiero salir o no. Una vez que valida el usuario y contraseña, todo esta OK, llamas al formulario inicial/principal, y cerras este.

    3.- Que sean tres intentos y luego muestre un error y se cierre: En la pantalla inicial pones una variable que cuente los pasos que realizo y si pasa 3 veces que le pones un mensaje y lo sacas del sistema. con un END o this.close.

    MessageBox.Show("Por favor controle su usuario y contraseña, ya agoto los 3 intentos. Vuelva a intenetarlo mas tarde." this.Text = "Atención", MessageBoxButtons.OK, MessageBoxIcon.Information);

    4.- Que boton ayuda muestres cuales son los usuarios disponibles con su contraseña y entrar inicie una nueva ventana y cierra esta ventana: Que el boton de ayuda NO MUESTRE eso que vos queres proque si no, no se justifica el ingreso y la seguridad del sistema. para eso dejala anotada al pie del monitor. como hacen muchos.

    5.- Que cuando escriba la contraseña se muestre no se muestre el caracter con el que se escribe: En este punto en el textbox usas la propiedad PasswordChar y le colocas el caracter que vos quieras, por lo general son asteriscos. Pero aca este paso va con el de arriba.

    Nota.- Se uso una ventana anterior para llegar a esta pero esta oculta

     

    Saludos, espero que te sirva la respuesta.

    Gaston Marengo

    Sunday, November 06, 2011 5:19 AM
  • hola

    1-

    realidar todo un login por dos usuario no tiene mucho sentido

    lo comun es ue tengas una db en donde puedas registrarlo, en este articulo explcio como podrias lograrlo

    Login – Usando Password con Hash

     

    2-

    eso es simple solo define las propiedades  AcceptButton y  CancelButton del formulario

    alli defines que boton se accion acunado presionas enter o esc

     

    3 -

    podria ser

    	
    private int intentos = 0;
    
    private void btnAceptar_Click(object sender, EventArgs e)
    {
    	string nombre = txtNombre.Text;
    	string password = txtPassword.Text;
    
    	if (LoginService.Autenticar(nombre, password))
    		this.DialogResult = DialogResult.OK;
    	else
    	{
    		if(intentos == 3)
    			this.DialogResult = DialogResult.Abort;
    		else
    		{
    			txtNombre.Text = "";
    			txtPassword.Text = "";
    			intentos++;
    		}
    	}
    
    }
    

    4- este punto no tiene sentido, para que ahces un login si despues vas a mostrarle la informacion de autenticacion

    para eso pasale un archivos con la lista de usuario ya password a todos los usaurio y que hagan los que quieran

     

    5 -

    define el el textbox la propeidad PasswordChart con un  *

    esto hara que al tipear no se vea lo ingresado

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Sunday, November 06, 2011 5:29 AM

All replies

  • Hola Gustavo, buenas noches.

     

    1- Que tenga dos Usuarios: Los usuarios, los registras en la base de datos, como usuarios del Motor y en una tabla con los usuarios que quieras (Tabla: Usuarios: IdUsuario, Nombre completo del Usuario, Usuario, Password...) Al controlar el ingreso si el usuario no esta registrado no entra al sistema.

    2.- Que el evento "keydown" acepter "Enter" en los textbox para iniciar y "Esc" para salir: Para este caso seria cada vez que presionas una tecla. segun mi corta experiencia, tendrias que usar el keypress y asi para entre los textbox segun tengas los tabindex y asi llegarian al Enter. El ESC para salir no recuerdo bien como se hace. generalmente no lo uso y controlo la "cruz" al salir, cosa que veo en que estado esta la pantalla y pregunto si quiero salir o no. Una vez que valida el usuario y contraseña, todo esta OK, llamas al formulario inicial/principal, y cerras este.

    3.- Que sean tres intentos y luego muestre un error y se cierre: En la pantalla inicial pones una variable que cuente los pasos que realizo y si pasa 3 veces que le pones un mensaje y lo sacas del sistema. con un END o this.close.

    MessageBox.Show("Por favor controle su usuario y contraseña, ya agoto los 3 intentos. Vuelva a intenetarlo mas tarde." this.Text = "Atención", MessageBoxButtons.OK, MessageBoxIcon.Information);

    4.- Que boton ayuda muestres cuales son los usuarios disponibles con su contraseña y entrar inicie una nueva ventana y cierra esta ventana: Que el boton de ayuda NO MUESTRE eso que vos queres proque si no, no se justifica el ingreso y la seguridad del sistema. para eso dejala anotada al pie del monitor. como hacen muchos.

    5.- Que cuando escriba la contraseña se muestre no se muestre el caracter con el que se escribe: En este punto en el textbox usas la propiedad PasswordChar y le colocas el caracter que vos quieras, por lo general son asteriscos. Pero aca este paso va con el de arriba.

    Nota.- Se uso una ventana anterior para llegar a esta pero esta oculta

     

    Saludos, espero que te sirva la respuesta.

    Gaston Marengo

    Sunday, November 06, 2011 5:19 AM
  • hola

    1-

    realidar todo un login por dos usuario no tiene mucho sentido

    lo comun es ue tengas una db en donde puedas registrarlo, en este articulo explcio como podrias lograrlo

    Login – Usando Password con Hash

     

    2-

    eso es simple solo define las propiedades  AcceptButton y  CancelButton del formulario

    alli defines que boton se accion acunado presionas enter o esc

     

    3 -

    podria ser

    	
    private int intentos = 0;
    
    private void btnAceptar_Click(object sender, EventArgs e)
    {
    	string nombre = txtNombre.Text;
    	string password = txtPassword.Text;
    
    	if (LoginService.Autenticar(nombre, password))
    		this.DialogResult = DialogResult.OK;
    	else
    	{
    		if(intentos == 3)
    			this.DialogResult = DialogResult.Abort;
    		else
    		{
    			txtNombre.Text = "";
    			txtPassword.Text = "";
    			intentos++;
    		}
    	}
    
    }
    

    4- este punto no tiene sentido, para que ahces un login si despues vas a mostrarle la informacion de autenticacion

    para eso pasale un archivos con la lista de usuario ya password a todos los usaurio y que hagan los que quieran

     

    5 -

    define el el textbox la propeidad PasswordChart con un  *

    esto hara que al tipear no se vea lo ingresado

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Sunday, November 06, 2011 5:29 AM
  • Gracias por las respuesta ahora hice estos cambios:

    -Eliminar el boton ayuda

    Y este el es nuevo codigo

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace Llanteria
    {
        public partial class LlanteriaRichart : Form
        {
            int cont=0;
            public LlanteriaRichart()
            {
                InitializeComponent();
            }
    
            private void tbUsuarioGr_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.KeyValue == 13)
                    if (tbUserGr.Text == "Jefe" && tbContraGr.Text == "llanta")
                    {
                        MessageBox.Show("Entraste", "Felicidades");
                        Program.F3 = new Productos();
                        Program.F3.Show();
                        this.Hide();
                    }
                    else
                    {
                        tbUserGr.Clear();
                        tbContraGr.Clear();
                        tbUserGr.Focus();
                        cont++;
                        if (cont == 1)
                            MessageBox.Show("Intenta de nuevo Primer Intento", "Fallaste!",
                            MessageBoxButtons.OK, MessageBoxIcon.Error);
                        if (cont == 2)
                            MessageBox.Show("Intenta de nuevo Segundo Intento", "Fallaste!",
                            MessageBoxButtons.OK, MessageBoxIcon.Error);
                        if (cont == 3)
                            MessageBox.Show("Intenta de nuevo Tercer Intento", "Fallaste!",
                            MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                if (cont == 4)
                {
                    MessageBox.Show("Se ha introducido la contraseña incorrecta demasiadas veces! \n\nEste programa se cerrara!", "Aviso!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    Application.Exit();
                } 
            }
    
            private void tbContraseñaGr_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.KeyValue == 13)
                   if (tbUserGr.Text == "Jefe" && tbContraGr.Text == "llanta")
                    {
                        MessageBox.Show("Entraste", "Felicidades");
                        Program.F3 = new Productos();
                        Program.F3.Show();
                        this.Hide();
                    }
                    else
                    {
                        tbUserGr.Clear();
                        tbContraGr.Clear();
                        tbUserGr.Focus();
                        cont++;
                        if (cont == 1)
                            MessageBox.Show("Intenta de nuevo Primer Intento", "Fallaste!",
                            MessageBoxButtons.OK, MessageBoxIcon.Error);
                        if (cont == 2)
                            MessageBox.Show("Intenta de nuevo Segundo Intento", "Fallaste!",
                            MessageBoxButtons.OK, MessageBoxIcon.Error);
                        if (cont == 3)
                            MessageBox.Show("Intenta de nuevo Tercer Intento", "Fallaste!",
                            MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                if (cont == 4)
                {
                    MessageBox.Show("Se ha introducido la contraseña incorrecta demasiadas veces! \n\nEste programa se cerrara!", "Aviso!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    Application.Exit();
                } 
            }
    
            private void btInicioGr_Click(object sender, EventArgs e)
            {
                 if (tbUserGr.Text == "Jefe" && tbContraGr.Text == "llanta")
                {
                    tbContraGr.Clear();
                    tbUserGr.Clear();
                    MessageBox.Show("Entraste", "Felicidades");
                    //this.Hide();
                    tbUserGr.Focus();
                    //Si al presionar el boton, aun no existe formulario almacenado en F2, se creara
                    Program.F3 = new Productos();
                    Program.F3.Show();
                    this.Hide();
                }
                else
                {
                    tbUserGr.Clear();
                    tbContraGr.Clear();
                    tbUserGr.Focus();
                    MessageBox.Show("Intenta de nuevo", "Fallaste", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
    }
    
    Pero me falta poner otro usuario y no se por que no me acepta el  "Enter" solo entra si le hago clic en entrar

    Sunday, November 06, 2011 7:46 PM