Ver Mensaje Individual
  #8 (permalink)  
Antiguo 26/08/2005, 03:27
Avatar de Bravenap
Bravenap
 
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 22 años, 2 meses
Puntos: 4
¡Conseguido! He encontrado la solución. Al final he optado por la opción de leer el archivo web.config como XML que es.

Allá va:

Código:
        Dim rolRequerido As String
        Dim url As String = Request.QueryString("ReturnUrl").ToUpper
        Dim n As Integer = 0
        Dim xmlD As New XmlDocument
        xmlD.Load(Server.MapPath("web.config"))
        For Each nodo As XmlNode In xmlD.DocumentElement.ChildNodes
            Dim path As String
            If nodo.Name = "location" Then
                path = nodo.Attributes("path").Value.ToUpper
                If url.IndexOf(path) <> -1 Then
                    rolRequerido = nodo.Item("system.web").Item("authorization").Item("allow").Attributes("roles").Value
                    Exit For
                End If
            End If
        Next


        If Me.txtUsuario.Text <> "" And Me.txtContraseña.Text <> "" Then
            'A continuación se comprueba desde qué directorio
            'está intentando acceder el usuario.
            Select Case rolRequerido
                Case "Clientes"
                    accesoClientes()
                Case "Socios"
                    accesoSocios()
                Case "Administradores"
                    accesoAdministradores()
                Case Else
                    accPermitido = False
            End Select

        End If

        If Not accPermitido Then
            Me.lblDenegado.Visible = True
        Else
            Response.Redirect(Request.QueryString("ReturnUrl"), True)
        End If
Gracias por todo y un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!