2011-05-09 12 views
7

estoy usando el siguiente código para establecer un control totalCómo establecer el control total de un directorio

DirectorySecurity myDirectorySecurity = source.GetAccessControl(); 
string User = "Srinivass\\Admin"; 
myDirectorySecurity.AddAccessRule(new FileSystemAccessRule(
         User, 
         FileSystemRights.Modify, 
         InheritanceFlags.ObjectInherit, 
         PropagationFlags.InheritOnly, 
         AccessControlType.Allow) 
        ); 

source.SetAccessControl(myDirectorySecurity); 

Pero está dando permisos especiales sólo a esta carpeta. Quiero otorgar permisos de control total a todas las subcarpetas.

Por favor, cualquiera me puede ayudar.

Respuesta

15

Intente cambiar el parámetro PropagationFlags al PropagationFlags.None.

Su regla de acceso debe ser similar:

new FileSystemAccessRule( 
      User, 
      FileSystemRights.FullControl, 
      InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit, 
      PropagationFlags.None, 
      AccessControlType.Allow 
); 

A continuación, active la ficha seguridad en el Explorador de Windows, y usted debería ver la carpeta (y cualquier objeto de nueva creación a futuro) que tienen Control total.

+3

PropagationFlags.None parece haber sido el boleto en mi caso. ¡Gracias! –

+0

+1 demasiado mal No puedo votar más. Es tarde en la noche y he estado luchando con esto. Larga vida SO –

Cuestiones relacionadas