public static void denyPermissionFolder(string path) { System.Security.AccessControl.DirectorySecurity b = new System.Security.AccessControl.DirectorySecurity(); b.SetAccessRuleProtection(true, true); if (Directory.Exists(path)) { Directory.SetAccessControl(path, b); } }
public void denyPermissionFolder(string path) { if (!Directory.Exists(pathImgs)) { Directory.CreateDirectory(pathImgs); } System.Security.AccessControl.DirectorySecurity b = new System.Security.AccessControl.DirectorySecurity(); b.SetAccessRuleProtection(true, true); Directory.SetAccessControl(path, b); }
/// <summary> /// 清除指定的文件或目录拥有的全部访问权限。 /// </summary> /// <param name="path">文件或目录路径。</param> public static void ClearPermission(string path) { if (System.IO.Directory.Exists(path)) { System.Security.AccessControl.DirectorySecurity ds = new System.Security.AccessControl.DirectorySecurity(); ds.SetAccessRuleProtection(true, false); System.IO.Directory.SetAccessControl(path, ds); } else if (System.IO.File.Exists(path)) { System.Security.AccessControl.FileSecurity ds = new System.Security.AccessControl.FileSecurity(); ds.SetAccessRuleProtection(true, false); System.IO.File.SetAccessControl(path, ds); } }
/// <summary> /// 对指定的文件或目录的设置新的访问权限。移除所有现有的权限。 /// </summary> /// <param name="path">文件或目录路径。</param> /// <param name="identity">Windows 用户或组名称。</param> /// <param name="fileSystemRights">访问权限。</param> /// <param name="accessControlType">指定允许还是拒绝该操作。</param> public static void SetPermission(string path, string identity, System.Security.AccessControl.FileSystemRights fileSystemRights, System.Security.AccessControl.AccessControlType accessControlType) { System.Security.AccessControl.FileSystemAccessRule ar1 = new System.Security.AccessControl.FileSystemAccessRule(identity, fileSystemRights, accessControlType); if (System.IO.Directory.Exists(path)) { System.Security.AccessControl.FileSystemAccessRule ar2 = new System.Security.AccessControl.FileSystemAccessRule(identity, fileSystemRights, System.Security.AccessControl.InheritanceFlags.ContainerInherit | System.Security.AccessControl.InheritanceFlags.ObjectInherit, System.Security.AccessControl.PropagationFlags.InheritOnly, accessControlType); System.Security.AccessControl.DirectorySecurity ds = new System.Security.AccessControl.DirectorySecurity(); ds.AddAccessRule(ar1); ds.AddAccessRule(ar2); ds.SetAccessRuleProtection(true, false); System.IO.Directory.SetAccessControl(path, ds); } else if (System.IO.File.Exists(path)) { System.Security.AccessControl.FileSecurity ds = new System.Security.AccessControl.FileSecurity(); ds.AddAccessRule(ar1); ds.SetAccessRuleProtection(true, false); System.IO.File.SetAccessControl(path, ds); } }
public void allowPermissionFolder(string path) { System.Security.AccessControl.DirectorySecurity b = new System.Security.AccessControl.DirectorySecurity(); b.SetAccessRuleProtection(false, true); Directory.SetAccessControl(path, b); }