Mega Code Archive

 
Categories / C# / File Stream
 

Gets a DirectorySecurity object that encapsulates the access control list (ACL) entries

using System; using System.IO; using System.Security.AccessControl;     class DirectoryExample     {         public static void Main()         {             string DirectoryName = "TestDirectory";             AddDirectorySecurity(DirectoryName, @"MYDOMAIN\MyAccount", FileSystemRights.ReadData, AccessControlType.Allow);             RemoveDirectorySecurity(DirectoryName, @"MYDOMAIN\MyAccount", FileSystemRights.ReadData, AccessControlType.Allow);         }         public static void AddDirectorySecurity(string FileName, string Account, FileSystemRights Rights, AccessControlType ControlType)         {             DirectoryInfo dInfo = new DirectoryInfo(FileName);             DirectorySecurity dSecurity = dInfo.GetAccessControl();             dSecurity.AddAccessRule(new FileSystemAccessRule(Account,Rights,ControlType));             dInfo.SetAccessControl(dSecurity);         }         public static void RemoveDirectorySecurity(string FileName, string Account, FileSystemRights Rights, AccessControlType ControlType)         {             DirectoryInfo dInfo = new DirectoryInfo(FileName);             DirectorySecurity dSecurity = dInfo.GetAccessControl();             dSecurity.RemoveAccessRule(new FileSystemAccessRule(Account,Rights,ControlType));             dInfo.SetAccessControl(dSecurity);         }     }