¡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.