none
Privilegios de Usuario en Base de datos MYSQL RRS feed

  • Pregunta

  • ESTIMADOS

                       Tengo este código de manejo de usuarios y me falta una parte que la definicion del control de privilegios usando directamente el control de los privilegios de la base de datos mysql...lo que me falta es esto :  Public Sub ControlarUsuarioYPass()

    codigo

    Imports MySql.Data.MySqlClient
    Imports System.Data

    Public Class frmUsuarios

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

            Dim conn As New MySqlConnection
            Dim myCommand As New MySqlCommand
            Dim cadena As String = "GRANT"

            ControlarUsuarioYPass()

            conn.ConnectionString = "Address=" & My.Settings.HostIP & "; user id=" & My.Settings.Usuario & "; password=" & My.Settings.Password & "; database=nac1"

            If (TextBox2.Text.Length < 6) Then
                MsgBox("El Nombre de Usuario tiene que tener al menos seis (6) caracteres")
            Else
                If (TextBox3.Text.Length < 6) Then
                    MsgBox("Por seguridad el largo minimo de la contraseña debe se de" & (Chr(13) & Chr(10)) & "no menos de seis (6) Caracteres")
                Else
                    Try
                        If conn.State = ConnectionState.Closed Then conn.Open()
                        Try
                            myCommand.Connection = conn

                            'GRANT SELECT ON * . * TO 'Eliminar'@'%' (para todas las bases de Datos)
                            'GRANT SELECT ON `BaseDeDatos` . `Tabla` TO 'Usuario'@'%';

                            '**********************************************************************
                            '**********************************************************************
                            'CONTROLO LOS PERMISOS DE LOS CHECKBOX

                            If ComboBox1.SelectedItem = "Administrador" Then
                                cadena = cadena & " SELECT, INSERT, UPDATE, DELETE ON `nac1` . * TO '" & TextBox2.Text & "'@'%' IDENTIFIED BY '" & TextBox3.Text & "' WITH GRANT OPTION"
                            Else
                                If ComboBox1.SelectedItem = "Solo Lectura" Then
                                    cadena = cadena & " SELECT"
                                Else
                                    If ComboBox1.SelectedItem = "Lectura / Escritura" Then
                                        cadena = cadena & " SELECT, INSERT, UPDATE, DELETE"
                                    Else
                                        MsgBox("Debe seleccionar algun Permiso")
                                        Exit Sub
                                    End If
                                End If

                                cadena = cadena & " ON `nac1` . * TO '" & TextBox2.Text & "'@'%' IDENTIFIED BY '" & TextBox3.Text & "'"

                                If ComboBox2.SelectedItem = "Alumnos" Then
                                    cadena = cadena & "`alumnos` TO '" & TextBox2.Text & "'@'%' IDENTIFIED BY '" & TextBox3.Text & "'"
                                Else
                                    If ComboBox2.SelectedItem = "Profesores" Then
                                        cadena = cadena & "`profesores` TO '" & TextBox2.Text & "'@'%' IDENTIFIED BY '" & TextBox3.Text & "'"
                                    Else
                                        If ComboBox2.SelectedItem = "Alumnos y Profesores" Then
                                            cadena = cadena & "`alumnos, profesores` TO '" & TextBox2.Text & "'@'%' IDENTIFIED BY '" & TextBox3.Text & "'"
                                        Else
                                            MsgBox("Debe seleccionar algun formulario")
                                        End If
                                    End If
                                End If
                            End If

                            '"GRANT SELECT, INSERT ON `nac1` . * TO '" & TextBox2.Text & "'@'%' IDENTIFIED BY '" & TextBox3.Text & "'"
                            myCommand.CommandText = cadena
                            myCommand.ExecuteNonQuery()
                            'VACIO LOS CAMPOS
                            TextBox2.Text = ""
                            TextBox3.Text = ""
                            ComboBox1.Text = ""
                            ComboBox2.Text = ""
                            MsgBox("Usuario Creado con Exito!!!", MsgBoxStyle.OkOnly + MsgBoxStyle.Exclamation, "Usuarios")
                        Catch ex As MySqlException
                            If (ex.ErrorCode = -2147467259) Then
                                MsgBox("Usted No Tiene Permisos para realizar esta Operacion")
                            Else
                                MsgBox("Hubo un Error al Intentar Agrgar un Usuario")
                            End If
                        End Try
                        If conn.State = ConnectionState.Open Then conn.Close()
                    Catch ex As Exception
                        MsgBox("Hubo un Error al conectarce con el Servidor")
                    End Try
                End If
            End If

        End Sub

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

            Dim conn As New MySqlConnection
            Dim myCommand As New MySqlCommand

            conn.ConnectionString = "Address=" & My.Settings.HostIP & "; user id=" & My.Settings.Usuario & "; password=" & My.Settings.Password & "; database=nac1"

            Try
                If conn.State = ConnectionState.Closed Then conn.Open()
                Try
                    myCommand.Connection = conn
                    myCommand.CommandText = "DROP USER '" & TextBox1.Text & "'@'%'"
                    myCommand.ExecuteNonQuery()
                    TextBox1.Text = ""
                    MsgBox("Usuario Eliminado con Exito!!!", MsgBoxStyle.OkOnly + MsgBoxStyle.Exclamation, "Usuarios")
                Catch ex As MySqlException
                    If (ex.ErrorCode = -2147467259) Then
                        MsgBox("Usted No Tiene Permisos para realizar esta Operacion")
                    Else
                        MsgBox("Hubo un Error al Intentar Eliminar un Usuario")
                    End If
                End Try
                If conn.State = ConnectionState.Open Then conn.Close()
            Catch ex As Exception
                MsgBox("Hubo un Error al conectarce con el Servidor")
            End Try
        End Sub

        Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
            If ComboBox1.SelectedItem = "Administrador" Then
                ComboBox2.Enabled = False
            Else
                ComboBox2.Enabled = True
            End If
        End Sub

        Public Sub ControlarUsuarioYPass()









        End Sub

    End Class

    Me falta el control de privilegios.... en ControlarUsuarioYPass(), me ayudarían a encontrar el código que falta?? por favor....ya me quedé anulado, por eso les escribo...saludos y gracias....

    • Tipo cambiado ARIELIBANEZ domingo, 30 de diciembre de 2012 2:05 no es debate
    martes, 18 de diciembre de 2012 1:04