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));
                }
            }
        }
Beispiel #2
0
 /// <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);
Beispiel #3
0
 /// <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);
Beispiel #4
0
 /// <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);