• Domingo 22 de Diciembre de 2024, 15:13

Autor Tema:  como crear un login  (Leído 2821 veces)

normangvs

  • Nuevo Miembro
  • *
  • Mensajes: 11
  • Nacionalidad: gt
    • Ver Perfil
como crear un login
« en: Domingo 4 de Octubre de 2009, 02:44 »
0
hola que tal ando haciendo un mi programita y me gustaria ponerle de sistema de seguridad un login con contraseña para ingresar pero no c como se hace y me gustaria que me hecharan una manita con esto.

gracias.

mrjuan

  • Miembro activo
  • **
  • Mensajes: 34
  • Nacionalidad: co
    • Ver Perfil
Re: como crear un login
« Respuesta #1 en: Martes 6 de Octubre de 2009, 17:03 »
0
hola,
lo que necesitas son dos textBox y un boton,
el primer texbox lo dejas como esta y el segundo textbox le pones la propiedad UseSystemPasswordChar en true para que quedecomo campo contraseña, y si quieres puedes ponerle en la propiedad MaxLength un valor para que al digitar la contraseña solo pueda escribir la cantidad de digitos que tu quieras.
espero ke te sirva  ;)

normangvs

  • Nuevo Miembro
  • *
  • Mensajes: 11
  • Nacionalidad: gt
    • Ver Perfil
Re: como crear un login
« Respuesta #2 en: Miércoles 7 de Octubre de 2009, 02:46 »
0
gracias me sirvio muxo
pero como le hago para que solo me reconosca un usuario y una contraceña?

Sagma

  • Miembro MUY activo
  • ***
  • Mensajes: 390
  • Nacionalidad: bo
    • Ver Perfil
Re: como crear un login
« Respuesta #3 en: Miércoles 7 de Octubre de 2009, 15:52 »
0
buenas amigo, fijate como lo he realizado.
pero date cuanto que lo tengo en VB y con Access.

Citar
   
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        Me.DialogResult = DialogResult.Cancel
        'Me.Close()
        'RaiseEvent LoginStatus(LoginStatusENUM.LoginFailed)

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        'Conectando a la base de datos
        Dim conBase As New OleDb.OleDbConnection("Provider=Microsoft.jet.oledb.4.0;Data Source=E:RecuperadosSagmaSoftarcandb_arcan.mdb;Jet OLEDB:Database Password=Saga20Moal22")
        conBase.Close()
        Dim strSQL As String
        strSQL = "Select * from usuarios where usuario = '" & TextBox1.Text & "' and clave = '" & TextBox2.Text & "'"
        Dim daEmp As New OleDb.OleDbDataAdapter(strSQL, conBase)
        Dim dsEmp As New DataSet
        daEmp.Fill(dsEmp, "Log")
        'Si el dataset obtuvo un registro es que si es valido el Usuario y la clave
        If dsEmp.Tables("Log").Rows.Count = 1 Then
            Me.DialogResult = DialogResult.OK
            Me.Close()
            'Dim a As New frmmain
            'a.Show()
        Else
            'MessageBox.Show("Mensaje","titulo",System.windows.forms.MessageBosButtons.Accept)
            'MessageBox.Show("DESEA ELIMINAR","IMPORTANTE", MessageBoxButtons.OKCancel, MessageBoxIcon.Error)
            MessageBox.Show("Usuario o contaseña no valida", "Mensaje de Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            TextBox1.Text = ""
            TextBox2.Text = ""
            Me.TextBox1.Focus()
        End If

    End Sub


suerte  :comp:
Sagma

gerardoskype

  • Miembro activo
  • **
  • Mensajes: 50
  • Nacionalidad: mx
    • Ver Perfil
Re: como crear un login
« Respuesta #4 en: Martes 27 de Octubre de 2009, 05:22 »
0
Citar
Bueno, yo tengo un login que unicamente establece relacion con una clave y te puede dar nivel o establecer privilegios. Es es base access local.
si te interesa manda mensaje.

normangvs

  • Nuevo Miembro
  • *
  • Mensajes: 11
  • Nacionalidad: gt
    • Ver Perfil
Re: como crear un login
« Respuesta #5 en: Martes 27 de Octubre de 2009, 05:38 »
0
por supuesto me interesa
sera que me explicas un poco es que soy algo nuevo en esto ?
gracias

gerardoskype

  • Miembro activo
  • **
  • Mensajes: 50
  • Nacionalidad: mx
    • Ver Perfil
Re: como crear un login
« Respuesta #6 en: Martes 27 de Octubre de 2009, 17:38 »
0
Ok, primero que nada, necesitamos una base acces, que contenga como minimo "Usuario", "Contraseña", "Nombre Completo", y una columna con valor"Si/No";
luego agregarlo al proyecto.

ok, ahora un formulario "Menu Principal" y un formulario "Login","Inicio" o como quieras ponerle.

En el Form "login" necesitas un Label que diga "Ingrese Clave de Usuario", un TextBox donde escribiremmos, de preferencia en propiedades, localiza "Password Char" y agregale un "*". dos Botones uno btok y el otro btsalir.

yo le he agregado, sonido y que me desactive el boton cerrar del formulario y al pulsar las teclas Alt. + F4 no me cierre el formulario solo el boton cerrar lo puede hacer.

Da doble click sobre btsalir y te mandara al codigo en el cual  debera quedar asi.

 #region - // Boton Cerrar -
        private void btsalir_Click(object sender, EventArgs e)
        {
            this.Dispose(); // o This.Application.Exit();
        }
        #endregion      continuo abajo...

gerardoskype

  • Miembro activo
  • **
  • Mensajes: 50
  • Nacionalidad: mx
    • Ver Perfil
Re: como crear un login
« Respuesta #7 en: Martes 27 de Octubre de 2009, 17:57 »
0
ahora vulve al diseñador de formulario y desde Origen de Datos, jala el datagrind de usuarios, esto agregara, un navogator, dataset , tableadapter. borra el datagrind despues de haber agregado estos elementos.

Agrega el siguiente codigo;

#region - // Realiza la Busqueda y en su caso da acceso
        private void proceso()
        {
            {
                #region - Crea el acceso y busqueda a las tablas -
                DataTable miTabla = dsvehiculos.Accesos;  // este es el dataset y la tabla que utilizo
                DataRowCollection cfilas = miTabla.Rows;
                DataRow[] filaBuscada;
                string NL = Environment.NewLine;
                string criterio = "[Password] Like '" + ctpassword.Text + "'";   // este busca en la Columna "Password"(en micaso) lo que esta en la caja de texto
                #endregion

                #region - Busca en la tabla y si no encuentra manda el form "Error" -
                filaBuscada = miTabla.Select(criterio);
                if (filaBuscada.GetUpperBound(0) == -1)
                {
                    error.Play();                                //ojo, solo si has agregado para sonido sino borralo
                    Error frm = new Error();               // y en lugar de llamar a otro formulario como lo hago yo
                    frm.Show();                                // agrega un MESSAGEBOX.
                    this.ctpassword.Clear();
                    return;
                }
                #endregion

                #region - Busca y al encontrar da acceso y carga usuario y privilegios -
                int i, j;
                for (i = 0; i <= filaBuscada.GetUpperBound(0); i++)
                {
                    {
                        for (j = 0; j <= cfilas.Count - 1; j++)
                            if (cfilas[j].Equals(filaBuscada))
                            {
                                accesosBindingSource.Position = j;
                                tiporeg = "Modificaciones";
                                Temporizador.Stop();
                                string mensaje = "Acceso autorizado a :  " + Environment.NewLine;
                                mensaje += "" + Environment.NewLine;
                                mensaje += dsvehiculos.Accesos[accesosBindingSource.Position].Users;    esta linea hace que aparesca el nombre  de usuario en el mensaje
                                info.Play();
                                MessageBox.Show(mensaje, "Administrador.Accesos",
                                MessageBoxButtons.OK, MessageBoxIcon.Question);
                                usuario = dsvehiculos.Accesos[accesosBindingSource.Position].Users;// esta linea esta de mas, no realiza nada.

                                MenuPrincipal frm = new MenuPrincipal();
                                frm.usuario1 = dsvehiculos.Accesos[accesosBindingSource.Position].Descripcion_Usuario;
                                frm.nivel = dsvehiculos.Accesos[accesosBindingSource.Position].Administrar;
                                //this.ShowIcon = false;
                                //this.ShowInTaskbar = false;
                                this.Hide();
                                frm.ShowDialog();
                            }
                    }
                }
                #endregion
            }

        }
        #endregion

gerardoskype

  • Miembro activo
  • **
  • Mensajes: 50
  • Nacionalidad: mx
    • Ver Perfil
Re: como crear un login
« Respuesta #8 en: Martes 27 de Octubre de 2009, 18:21 »
0
MenuPrincipal frm = new MenuPrincipal();  // esta linea asiga el valor a frm.
      frm.usuario1 = dsvehiculos.Accesos[accesosBindingSource.Position].Descripcion_Usuario;   //esta le asigna valor a public string Usuario1 que esta en menuprincipal, y ese valor a su vez nos permitira hacer otra cosa mas adelante.
     frm.nivel = dsvehiculos.Accesos[accesosBindingSource.Position].Administrar;
//esta linea nos dara los privilegios
     this.Hide();  // esta esconde el formulario actual despues de haber invocado al Menuprincipal.
     frm.ShowDialog(); // llamamos o invocamos Menu Principal
       
en MenuPrincipal    crea  dos variables public string usuario1; y public bool nivel;

crearemos un Menustrip y un statusstrip, el primero le vamos a poner varios menus los que queras pero renombralos por ejemplo mnuAbrir, mnuAdministrar, etc

al segundo

crea un statuslabel y nombralo etusuario, en propiedades: autosize = false, size =250,30;

gerardoskype

  • Miembro activo
  • **
  • Mensajes: 50
  • Nacionalidad: mx
    • Ver Perfil
Re: como crear un login
« Respuesta #9 en: Martes 27 de Octubre de 2009, 18:30 »
0
ahora creamos el siguiente codigo que pondremos en el evento load de "Menuprincipal";

private void Administrar_nivel()
        {
            entrada.Play(); //
            etusuario.Text = usuario1;

            mnu_altas.Enabled = nivel;
            mnu_modif.Enabled = nivel;
            mnu_registros.Enabled = nivel;
            mnu_apagarpc.Enabled = nivel;
            mnu_reiniciar.Enabled = nivel;
        }
esto lo que hace es que el nombre del usuario guardado en usuario1 se escribira en etusuario, en la barra de estado.
y nivel si el valor es si, o no le dara acceso a los menus que esten habilitados o no.

Este es mi evento Load;
#region - Evento Load del Form -
        private void MenuPrincipal_Load(object sender, EventArgs e)
        {
            botoncerrar();// Elimina el Boton Cerrar del Formulario
            Administrar_nivel();//Crea los Privilegios de usuario y lo muestra.
            etfecha.Text = DateTime.Now.ToLongDateString();
        }

espero te sirva y comenta tus dudas, espero poder subir el codigo para que lo descargues y tranajes con el.

Suerte
        #endregion