private void CheckFileSystemAccessRights(List <string> errors) { foreach (var subpath in FilePermissionChecker.WrittenDirectories) { var entry = _appContext.ContentRoot.GetDirectory(subpath); if (entry.Exists && !_filePermissionChecker.CanAccess(entry, FileEntryRights.Write | FileEntryRights.Modify)) { errors.Add(string.Format(GetResource("ConfigureDirectoryPermissions"), _appContext.OSIdentity.Name, entry.PhysicalPath)); } } foreach (var subpath in FilePermissionChecker.WrittenFiles) { var entry = _appContext.ContentRoot.GetFile(subpath); if (entry.Exists && !_filePermissionChecker.CanAccess(entry, FileEntryRights.Write | FileEntryRights.Modify | FileEntryRights.Delete)) { errors.Add(string.Format(GetResource("ConfigureFilePermissions"), _appContext.OSIdentity.Name, entry.PhysicalPath)); } } }
/// <summary> /// Checks whether current user has permission to modify given file entry. /// </summary> /// <param name="entry">File entry to check (file or directory)</param> public static bool CanModify(this IFilePermissionChecker checker, IFileEntry entry) => checker.CanAccess(entry, FileEntryRights.Modify);
/// <summary> /// Checks whether current user has permission to delete given file entry. /// </summary> /// <param name="entry">File entry to check (file or directory)</param> public static bool CanDelete(this IFilePermissionChecker checker, IFileEntry entry) => checker.CanAccess(entry, FileEntryRights.Delete);
/// <summary> /// Checks whether current user has permission to read given file entry. /// </summary> /// <param name="entry">File entry to check (file or directory)</param> public static bool CanRead(this IFilePermissionChecker checker, IFileEntry entry) => checker.CanAccess(entry, FileEntryRights.Read);