Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/04/2010, 04:11
Avatar de KeiDash
KeiDash
 
Fecha de Ingreso: septiembre-2005
Mensajes: 114
Antigüedad: 16 años, 10 meses
Puntos: 0
Controlar acceso a directorios

Buenos días.

Actualmente tengo una aplicación en la que se acceden X directorios desde un directorio raiz, a través del método GetDirectories(Path) de System.IO, el cual funciona muy bien la verdad, me devuelve los directorioes dependientes del directorio pasado.

Ahora, me surje un problema de acceso a un directorio por falta de permisos. Me interesaría saber como puedo simplemente, en caso de que no tenga permisos, saltar ese directorio y continuar con los más, pero con GetDirectories(Path) me da error porque ya intenta acceder directamente a los directorios, cuando no tengo permisos.

Asi que lo que intento ahora es, antes de acceder al directorio, saber si tengo permisos con el usuario actual al directorio.

Estaba usando lo siguiente:

Código:
Imports System.Security.AccessControl
Imports System.IO

Public Function getAccess(pPath) as Boolean
     Dim a As New DirectoryInfo(pPath) <- 'Directorio sin permisos
     Dim b As DirectorySecurity = a.GetAccessControl
End Sub

La cosa es que, no puedo acceder siquiera a los permisos del directorio, porque el directorio pertenece al usuario "System" (en concreto el directorio es System Volume Information, que se encuentra en cada HDD que este en la máquina)

¿Como podría crear esta estructura para que en caso de no tener acceso ninguno saltarme ese directorio directamente?

Saludos y gracias.