| File: System\Security\AccessControl\FileSystemAuditRule.cs | Web Access |
| Project: src\runtime\src\libraries\System.IO.FileSystem.AccessControl\src\System.IO.FileSystem.AccessControl.csproj (System.IO.FileSystem.AccessControl) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Security.Principal; namespace System.Security.AccessControl { public sealed class FileSystemAuditRule : AuditRule { public FileSystemAuditRule( IdentityReference identity, FileSystemRights fileSystemRights, AuditFlags flags) : this( identity, fileSystemRights, InheritanceFlags.None, PropagationFlags.None, flags) { } public FileSystemAuditRule( IdentityReference identity, FileSystemRights fileSystemRights, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, AuditFlags flags) : this( identity, AccessMaskFromRights(fileSystemRights), false, inheritanceFlags, propagationFlags, flags) { } public FileSystemAuditRule( string identity, FileSystemRights fileSystemRights, AuditFlags flags) : this( new NTAccount(identity), fileSystemRights, InheritanceFlags.None, PropagationFlags.None, flags) { } public FileSystemAuditRule( string identity, FileSystemRights fileSystemRights, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, AuditFlags flags) : this( new NTAccount(identity), AccessMaskFromRights(fileSystemRights), false, inheritanceFlags, propagationFlags, flags) { } internal FileSystemAuditRule( IdentityReference identity, int accessMask, bool isInherited, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, AuditFlags flags) : base( identity, accessMask, isInherited, inheritanceFlags, propagationFlags, flags) { } private static int AccessMaskFromRights(FileSystemRights fileSystemRights) { if (fileSystemRights < 0 || fileSystemRights > FileSystemRights.FullControl) throw new ArgumentOutOfRangeException(nameof(fileSystemRights), SR.Format(SR.Argument_InvalidEnumValue, fileSystemRights, nameof(AccessControl.FileSystemRights))); return (int)fileSystemRights; } public FileSystemRights FileSystemRights { get { return FileSystemAccessRule.RightsFromAccessMask(AccessMask); } } } }