Example #1
0
        /// <summary>
        /// Audits a request for the file system's root folder.
        /// </summary>
        public static void AuditRootFolderRequest(this IAuditor auditor, IVirtualFolderItem rootFolder)
        {
            if (!auditor.IsInfoEnabledFor(FileSystemTask.RootFolderInfoRequest))
            {
                return;
            }

            const string msg = "File system root requested.";

            auditor.Audit(AuditLevel.Info, FileSystemTask.RootFolderInfoRequest, AuditEvent.FolderInfoRequested, msg);
        }
Example #2
0
        /// <summary>
        /// Audits a request for a given file's meta data (e.g. through <see cref="IFileSystemProvider.GetFileInfo"/>.
        /// Be aware that this might cause verbose audit trails.
        /// </summary>
        public static void AuditFileInfoRequest(this IAuditor auditor, FileSystemTask context, IVirtualFileItem file)
        {
            if (!auditor.IsInfoEnabledFor(context))
            {
                return;
            }

            string msg = String.Format("File information requested:\n{0}", file.CreateResourceInfoString());

            auditor.Audit(AuditLevel.Info, context, AuditEvent.FileInfoRequested, msg);
        }
Example #3
0
        /// <summary>
        /// Audits an invalid request to pause a transfer although the transfer is not active.
        /// </summary>
        public static void AuditChangedTransferStatus(this IAuditor auditor, ITransfer transfer, FileSystemTask context, AuditEvent eventId)
        {
            if (!auditor.IsInfoEnabledFor(context))
            {
                return;
            }

            string msg = "Transfer [{0}] for resource [{1}] changed status to [{2}].";

            msg = String.Format(msg, transfer.Token.TransferId, transfer.Token.ResourceIdentifier, transfer.Status);
            auditor.Audit(AuditLevel.Info, context, eventId, msg);
        }
Example #4
0
        /// <summary>
        /// Audits a successful file system operation that involves a source and a target resource (move / copy).
        /// </summary>
        public static void AuditResourceOperation <T>(this IAuditor auditor, FileSystemTask context, AuditEvent eventId, IVirtualResourceItem <T> sourceFolder, IVirtualResourceItem <T> targetFolder) where T : VirtualResourceInfo
        {
            if (!auditor.IsInfoEnabledFor(context))
            {
                return;
            }

            string msg = String.Format("Successfully performed file system operation '{0}'.\n\nSource:\n{1}\n\nTarget:\n{2}",
                                       context, sourceFolder.CreateResourceInfoString(), targetFolder.CreateResourceInfoString());

            auditor.Audit(AuditLevel.Info, context, eventId, msg);
        }
Example #5
0
        /// <summary>
        /// Audits a successful file system operation for a given resource.
        /// </summary>
        public static void AuditResourceOperation <T>(this IAuditor auditor, FileSystemTask context, AuditEvent eventId, IVirtualResourceItem <T> resource) where T : VirtualResourceInfo
        {
            if (!auditor.IsInfoEnabledFor(context))
            {
                return;
            }

            string msg = String.Format("Successfully performed file system operation '{0}' for resource [{1}].\n\n{2}",
                                       context, resource.ResourceInfo.Name, resource.CreateResourceInfoString());

            auditor.Audit(AuditLevel.Info, context, eventId, msg);
        }
Example #6
0
        /// <summary>
        /// Audits a check for file or folder availability along with the returned result.
        /// </summary>
        public static void AuditResourceAvailabilityCheck(this IAuditor auditor, FileSystemTask context, string resourcePath, bool isAvailable)
        {
            if (!auditor.IsInfoEnabledFor(context))
            {
                return;
            }

            string msg = "Checked availability of resource (file or folder) [{0}]. Available: {1}.";

            msg = String.Format(msg, resourcePath, isAvailable);

            auditor.Audit(AuditLevel.Info, context, AuditEvent.FileInfoRequested, msg);
        }
Example #7
0
        /// <summary>
        /// Audits a request for a folder's files and sub folders.
        /// </summary>
        public static void AuditFolderContentsRequest(this IAuditor auditor, FileSystemTask context, IVirtualFolderItem parentFolder)
        {
            if (!auditor.IsInfoEnabledFor(context))
            {
                return;
            }

            string msg = "Delivered contents of folder [{0}]. Folder details:\n\n{1}";

            msg = String.Format(msg, parentFolder.ResourceInfo.Name, parentFolder.CreateResourceInfoString());

            auditor.Audit(AuditLevel.Info, context, AuditEvent.FolderContentsRequested, msg);
        }
Example #8
0
        /// <summary>
        /// Audits that a folder was created on the file system.
        /// </summary>
        public static void AuditFolderCreation(this IAuditor auditor, IVirtualFolderItem folder)
        {
            const FileSystemTask context = FileSystemTask.FolderCreateRequest;

            if (!auditor.IsInfoEnabledFor(context))
            {
                return;
            }

            string msg = "Created folder [{0}] on the file system.\n\n{1}";

            msg = String.Format(msg, folder.ResourceInfo.Name, folder.CreateResourceInfoString());

            auditor.Audit(AuditLevel.Info, context, AuditEvent.FolderCreated, msg);
        }
Example #9
0
        /// <summary>
        /// Audits a request for the file system's root folder.
        /// </summary>
        public static void AuditFolderParentRequest(this IAuditor auditor, IVirtualFolderItem childFolder, IVirtualFolderItem parentFolder)
        {
            if (!auditor.IsInfoEnabledFor(FileSystemTask.FolderParentRequest))
            {
                return;
            }

            string msg = "Parent folder of folder [{0}] was requested.\nSubmitted folder:\n{1}\n\nParent folder:\n{2}";

            msg = String.Format(msg, childFolder.ResourceInfo.Name, childFolder.CreateResourceInfoString(),
                                parentFolder.CreateResourceInfoString());


            auditor.Audit(AuditLevel.Info, FileSystemTask.FolderParentRequest, AuditEvent.FolderInfoRequested, msg);
        }