System.Security.AccessControl.dll 是 .NET Framework 中承载托管访问控制模型的关键程序集,负责封装 Windows 安全描述符、ACL、ACE、SID、权限掩码与继承标志,使开发者能以对象化方式管理文件、目录、注册表项、命名管道、互斥体、信号量、事件等内核对象的安全属性。
SecurityDescriptor、RawSecurityDescriptor 读取或设置所有者、组、DACL、SACL 及控制位。DiscretionaryAcl 和 SystemAcl 管理允许/拒绝规则与审计规则,支持 ACE 增删改与顺序调整。FileSystemAccessRule、RegistryAccessRule、AccessRule 表达主体 SID、访问掩码、AccessControlType、InheritanceFlags、PropagationFlags,实现权限继承与传播。AuthorizationRuleCollection、GetAccessRules、GetOwner、GetGroup 等 API 枚举规则,用于授权判断与安全审计。System.Security.AccessControl 下的文件系统、注册表、内核对象、目录服务等访问控制类型,为更高层安全 API 提供基础。当 DLL 缺失、版本不匹配或加载失败时,依赖它的应用、安装程序、服务或脚本可能在启动、编译、序列化或执行安全配置阶段异常。典型表现包括:
FileSystemAccessRule、RegistrySecurity、SecurityDescriptor 等会抛出 TypeLoadException、FileNotFoundException、FileLoadException。UnauthorizedAccessException、PrivilegeNotHeldException。