Esta documentación está archivada y no tiene mantenimiento.

FileSystemSecurity (Clase)

Representa el control de acceso y la seguridad de auditoría de un archivo o directorio.

Espacio de nombres: System.Security.AccessControl
Ensamblado: mscorlib (en mscorlib.dll)

public abstract class FileSystemSecurity : NativeObjectSecurity
public abstract class FileSystemSecurity extends NativeObjectSecurity
public abstract class FileSystemSecurity extends NativeObjectSecurity
No aplicable.

La clase FileSystemSecurity es la clase base de las clases FileSecurity y DirectorySecurity. Estas clases representan todos los derechos de acceso de un archivo de sistema o directorio y definen cómo se auditan los intentos de acceso.

La clase FileSystemSecurity representa los derechos de acceso y de auditoría como un conjunto de reglas. Los objetos FileSystemAccessRule representan cada regla de acceso, mientras que los objetos FileSystemAuditRule representan cada regla de auditoría.

La clase FileSystemSecurity es una abstracción del sistema de seguridad de archivos Microsoft Windows subyacente. En este sistema, cada archivo o directorio dispone de una lista de control de acceso discrecional (DACL), que controla el acceso al archivo o directorio y una lista de control de acceso al sistema (SACL) que especifica los intentos de control de acceso que se auditan. Las clases FileSystemAccessRule y FileSystemAuditRule son abstracciones de las entradas de control de acceso (ACE) que comprenden las DACL y las SACL.

La clase FileSystemSecurity oculta muchos de los detalles de las DACL y las SACL; no tiene que preocuparse por la clasificación de ACE ni de las DACL null.

Para conservar la información nueva o modificada de la lista de control de acceso (ACL) en un archivo, utilice el método SetAccessControl o SetAccessControl. Para conservar información de ACL nueva o modificada en un directorio, utilice el método SetAccessControl o SetAccessControl.

Para recuperar información de la ACL de un archivo, utilice el método GetAccessControl o GetAccessControl. Para recuperar información de la ACL de un directorio, utilice el método GetAccessControl o GetAccessControl.

En el ejemplo de código siguiente se utiliza la clase FileSecurity para agregar y después quitar una entrada de la lista de control de acceso (ACL) de un archivo. Es preciso especificar una cuenta de grupo o de usuario válida para poder ejecutar este ejemplo.

using System;
using System.IO;
using System.Security.AccessControl;

namespace FileSystemExample
{
    class FileExample
    {
        public static void Main()
        {
            try
            {
                string fileName = "test.xml";

                Console.WriteLine("Adding access control entry for " 
                    + fileName);

                // Add the access control entry to the file.
                AddFileSecurity(fileName, @"DomainName\AccountName",
                    FileSystemRights.ReadData, AccessControlType.Allow);

                Console.WriteLine("Removing access control entry from " 
                    + fileName);

                // Remove the access control entry from the file.
                RemoveFileSecurity(fileName, @"DomainName\AccountName", 
                    FileSystemRights.ReadData, AccessControlType.Allow);

                Console.WriteLine("Done.");
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }

        // Adds an ACL entry on the specified file for the specified account.
        public static void AddFileSecurity(string fileName, string account, 
            FileSystemRights rights, AccessControlType controlType)
        {
            

            // Get a FileSecurity object that represents the 
            // current security settings.
            FileSecurity fSecurity = File.GetAccessControl(fileName);

            // Add the FileSystemAccessRule to the security settings. 
            fSecurity.AddAccessRule(new FileSystemAccessRule(account,
                rights, controlType));

            // Set the new access settings.
            File.SetAccessControl(fileName, fSecurity);

        }

        // Removes an ACL entry on the specified file for the specified account.
        public static void RemoveFileSecurity(string fileName, string account, 
            FileSystemRights rights, AccessControlType controlType)
        {

            // Get a FileSecurity object that represents the 
            // current security settings.
            FileSecurity fSecurity = File.GetAccessControl(fileName);

            // Add the FileSystemAccessRule to the security settings. 
            fSecurity.RemoveAccessRule(new FileSystemAccessRule(account,
                rights, controlType));

            // Set the new access settings.
            File.SetAccessControl(fileName, fSecurity);

        }
    }
}

Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0
Mostrar: