none
Como crear un formulario control de usuario RRS feed

  • Pregunta

  • Compañeros, tenga buen día o buenas tardes dependiendo donde se encuentren.

    bueno estoy buscando ayuda ya que necesito un formulario que me valide el ingreso de un usuario a mi sistema en desarrollo, la idea es que se logee, según los datos existentes en mi tabla, y según los permisos que le asigne o mejor dicho según la clasificación de usuario le de permiso para ciertos formularios que he ido añadiendo en el sistema. esto es en .Net 2012, podrán ayudarme con algún código o algo así porque no se como hacerlo, es la primera vez que are uno.

    saludos y muchas gracias!

    viernes, 17 de enero de 2014 14:33

Todas las respuestas

  • Hola 
    Usaras mysql, sql server, access ???? 

    Talvez si diseñas una interfaz se podria ayudar ?

    Saludos

    viernes, 17 de enero de 2014 20:30
  • Hola Amigo, talvez este codigo te sirva, si entendi bien lo que ocupas, solo que el codigo esta en C#, pero talvez te sirva de guia.

     private void Btn_Ingreso_Click(object sender, EventArgs e)
            {
                if (string.IsNullOrWhiteSpace(Txt_Usuario.Text))
                {
                    MessageBox.Show("Ingrese un Usuario, Verifique", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                else
                {
                    if (string.IsNullOrWhiteSpace(Txt_Clave.Text))
                    {
                        MessageBox.Show("Ingrese una Contraseña, Verifique", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
    
                    else
                    {
                        if (string.IsNullOrWhiteSpace(Cmb_Tipo_Usuario.Text))
                        {
                            MessageBox.Show("Seleccione un tipo de Usuario, Verifique", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                        else
                        {
    
                            try
                            {
                                comando.Connection = conexion;
                                comando.CommandText = ("SELECT Usuario,Clave,Tipo FROM Table_Usuarios WHERE Usuario = '" + Txt_Usuario.Text + "'AND Clave = '" + Txt_Clave.Text + "' AND Tipo = '" + Cmb_Tipo_Usuario.SelectedItem + "' ");
                                conexion.Open();
                                comando.ExecuteNonQuery();
    
                                DataSet ds = new DataSet();
                                SqlDataAdapter da = new SqlDataAdapter(comando);
    
                                da.Fill(ds, "Table_Usuarios");
                                DataRow DR;
                                DR = ds.Tables["Table_Usuarios"].Rows[0];
    
                                if ((Txt_Usuario.Text == DR["Usuario"].ToString()) || (Txt_Clave.Text == DR["Clave"].ToString()) || (Cmb_Tipo_Usuario.Text == DR["Tipo"].ToString()))
                                {
                                                                                                                                    
                                    if (Cmb_Tipo_Usuario.Text == "Recepcion")
                                    {
                                        MessageBox.Show("Bienvenido al modulo de Recepcion", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                                     
                                        Form_Recepcion form_recepcion = new Form_Recepcion(this, form_menuprincial);
                                        form_recepcion.Show();
                                        
                                                                  
                                    }
    
                                    if (Cmb_Tipo_Usuario.Text == "Tramites")
                                    {
                                        MessageBox.Show("Bienvenido al modulo de Tramites", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                                                  
                                        Form_Tramites form_tramites = new Form_Tramites();
                                        form_tramites.Show();
                                        
                                                                  
    
                                    }
                                    
                                    Txt_Usuario.Text = "";
                                    Txt_Clave.Text = "";
                                    Cmb_Tipo_Usuario.SelectedIndex = -1;
                                    this.Hide();
                                    
                                    conexion.Close();
                                    comando.Dispose();
                                }
    
    
                            }
                            catch
                            {
                                MessageBox.Show("!!Usuario,Clave o Tipo de Usuario Incorrectos!!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                Txt_Usuario.Text = "";
                                Txt_Clave.Text = "";
                                Cmb_Tipo_Usuario.SelectedIndex = -1;
                                
                                conexion.Close();
                                comando.Dispose();
                            
                            }
                        }
                    }
                }  
                
             }

    Este código valida el tipo de usuario, desde una BD, que contiene tres campos, Usuario, Clave y Tipo

    Espero sea de utilidad

    viernes, 17 de enero de 2014 22:59
  • uso sql server 2012.

    encontré este código que lo aplico ahora y me funciono super bien, ahora solo me falta validar que cumpla con condiciones como ver los formularios que le correspondan a un usuario según su clasificación o perfil de usuario.

    este es el código que utilizo en mi aplicación.

    Public Class LoginForm
        Dim user, pw As String
    
    
        ' TODO: inserte el código para realizar autenticación personalizada usando el nombre de usuario y la contraseña proporcionada 
        ' (Consulte http://go.microsoft.com/fwlink/?LinkId=35339).  
        ' El objeto principal personalizado se puede adjuntar al objeto principal del subproceso actual como se indica a continuación: 
        '     My.User.CurrentPrincipal = CustomPrincipal
        ' donde CustomPrincipal es la implementación de IPrincipal utilizada para realizar la autenticación. 
        ' Posteriormente, My.User devolverá la información de identidad encapsulada en el objeto CustomPrincipal
        ' como el nombre de usuario, nombre para mostrar, etc.
    
        Dim Conn As New SqlClient.SqlConnection(ConnectionString)
        Dim command As New SqlClient.SqlCommand
        Dim adaptador As New SqlClient.SqlDataAdapter
        Dim dataset As New DataSet
    
        Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
    
    
            Conn.Open()
            Dim ds As New DataSet
    
            command.CommandText = "SELECT * FROM Perfil_de_usuario_interno WHERE nombrecorto='" & UsernameTextBox.Text & "' AND clave='" & PasswordTextBox.Text & "';"
    
            Conn.Close()
            command.Connection = Conn
            adaptador.SelectCommand = command
            adaptador.Fill(dataset, "0")
    
            Conn.Close()
    
            Dim cont = dataset.Tables(0).Rows.Count
    
            If cont > 0 Then
                Me.Hide()
                MessageBox.Show("Bienvenido a la aplicacion de control y gestion STX")
                Formularioprincipal.Show()
                PasswordTextBox.Text = ""
    
            Else
                MsgBox("Contraseña Incorrecta, intenta de nuevo", MsgBoxStyle.Information, "Error")
                PasswordTextBox.Text = ""
            End If
        End Sub
    
        Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click
            Me.Close()
        End Sub
    
    End Class
    

    ayuda por favor.

    sábado, 18 de enero de 2014 22:23
  •                                    

    if (Tu_combobox.Text == "Tramites") { MessageBox.Show("Bienvenido al modulo de Tramites", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); // Instancias y mustras el form que ocupes dependiendo del tipo de usuario

    Form_Tramites form_tramites = new Form_Tramites(); form_tramites.Show(); }

    Puedes usar algo como esto,agregas en el form donde ingresan los usuarios un combobox con los tipos de usuario, este codigo lo que hace es validar el tipo de usuario y dependiendo de esto se abre un form especifico, solo que lo que ocuparias seria agregar en la tabla donde tienes los usuarios una columna mas donde pongas el tipo de usuario.

    Con esto el usuario solo puede ingresar si cumple las tres condiciones, usuarios, clave y tipo.

    Agrega esto antes de instanciar el form que ocupes

    Nuevamente el codigo esta en C#, porque es en el lenguaje que trabajo, espero sea de utilidad.

                                                                                    

    lunes, 20 de enero de 2014 14:48
  • ya entiendo mas o menos a lo que va la idea, pero como lo hago para dejar habilitado varios formularios para un perfil de usuario, o tipos de usuario, ademas según el tipo de usuario, solo algunos deben o pueden modificar datos, otros no, eso donde lo configuro???

    esas son mis únicas dudas para terminar mi programa.

    muchísimas gracias!

    saludos

    lunes, 20 de enero de 2014 16:26
  • Amigo,

    No se si eso a lo que te refieres se configure, yo lo que haría es que según el tipo de usuario instancio el form correspondiente, igual se me ocurre que podrías desabilitar objetos de tu form según el tipo de funcion y usuario que sea.

    Por ejemplo que tengas dos tipos de usuario, Comun y Administrador, entonces si ambos usuarios comparten un mismo form, a usuario normal le desabilitas objetos que no quieras que este use(un boton,alguna funcion en algun menu), cosas por el estilo ya Administrador, pues le abilitas todo.

    Voy a buscarte un codigo de un proyecto(ACADEMICO) que se asemeja mucho a lo que buscas,es simple pero cumple lo que buscas, en cuanto lo encuentre te lo posteo.

    Saludos


    martes, 21 de enero de 2014 18:06
  • te lo agradecería mucho Crs_Chacon porque e realizado proyectos pero es la primera vez que lo realizo en esta fase.

    espero tu ayuda, muchísimas gracias, es justo lo que estoy buscando!

    martes, 21 de enero de 2014 20:15
  • Hola:

    Lo que tienes que hacer es mostrar menus segun el usuario que ha hecho login.
    Para esto tendras que tener en una base de datos con al menos 3 tablas como estas:

    MENU
    ==========
    ID  Numero
    NOMBRE  Texto
    PADRE  Numero
    HIJO  Booleano

    USUARIO
    ==========
    ID  Numero
    NOMBRE  Texto
    PASSWORD Texto

    USUARIO_MENU
    =============
    USUARIO  Numero
    MENU  Numero

    Una vez que ha hecho login, se leen todos los menus en que esta implicado dicho usuario, para esto tendras que hacer una consulta parecida a esta.

    Select * From MENU Inner Join USUARIO_MENU On USUARIO_MENU.MENU = MENU.ID Where USUARIO_MENU.USUARIO=" & msCodigo & " And PADRE IS NULL Order By ID

    msCodigo es el MENU.ID que ha hecho login

    P.D.
    No es una cosa fácil, por su extension de explicar, espero que puedas captar la idea.

    Un saludo desde Bilbo
    Carlos

    miércoles, 22 de enero de 2014 9:14