Foros del Web » Programación para mayores de 30 ;) » .NET »

Accesos a menus

Estas en el tema de Accesos a menus en el foro de .NET en Foros del Web. Buenas noches estoy tratando de restringir el acceso a los ítem de menús de mi aplicación en visual Basic 2013 de acuerdo al nivel de ...
  #1 (permalink)  
Antiguo 16/04/2016, 18:28
 
Fecha de Ingreso: abril-2016
Mensajes: 1
Antigüedad: 8 años, 7 meses
Puntos: 0
Pregunta Accesos a menus

Buenas noches estoy tratando de restringir el acceso a los ítem de menús de mi aplicación en visual Basic 2013 de acuerdo al nivel de acceso del usuario.Tengo 3 tablas
mn_USUARIOS - con los siguientes campos y valores
nCOD_USU - nCOD_NIV
1 Administrador
2 Vendedor
3 Almacenero
Etc…
mn_MENUS_ITEMS - con los siguientes campos y valores
nCOD_ITM – cNOM_ITM
1 Productos
2 Categorias
3 SubCategorias
4 Marcas
Etc….
mn_MENUS_PRIVILEGIOS - con los siguientes campos y valores (en el campo nTIE_RES, 1 los ítems de menú son enable=true y 0 en los ítems de menú enable=false)
nCOD_NIV – nCOD_ITM – nTIE_RES
1 1 1
1 2 1
1 3 1
2 1 0
2 2 0
2 3 0
en esta tabla se guarda el acceso al Ítem de menú de acuerdo al Nivel de acceso

Con el siguiente código solo he logrado que en el Select case “PRODUCTOS” se deshabilite de acuerdo al nivel de usuario.

Private Sub Privilegios()
Dim clsComunes As New clsComunes
Dim ds As New DataSet
Dim dsp As New DataSet

cSQL = "Select men.cNOM_ITM , acc.nTIE_RES From mn_MENUS_PRIVILEGIOS acc "
cSQL = cSQL & " Left Join mn_MENUS_ITEMS men On acc.nCOD_ITM = men.nCOD_ITM "
cSQL = cSQL & " Where "
cSQL = cSQL & " acc.nCOD_NIV = " & gCODNIV & " "
dsp = clsComunes.EjecutaConsulta(cSQL)
If dsp.Tables(0).Rows.Count > 0 Then

Select Case Trim(dsp.Tables(0).Rows(0).Item("cNOM_ITM"))
Case "PRODUCTOS"
Me.ProductosToolStripMenuItem.Enabled =dsp.Tables(0).Rows(0).Item("nTIE_RES")
Case "CATEGORIA"
Me.CategoriasToolStripMenuItem.Enabled = dsp.Tables(0).Rows(0).Item("nTIE_RES")
Case "SUBCATEGORIAS"
Me.MarcasToolStripMenuItem.Enabled = dsp.Tables(0).Rows(0).Item("nTIE_RES")
End Select

End If
End Sub
Agradezco su ayuda, gracias.

Etiquetas: 2013, basic, visual
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:19.