.NET Как изменить разрешение для папки / файла или права доступа?

Я хочу запретить пользователю перемещать / переименовывать / удалять папки, но перемещаться внутри папки, чтобы видеть ее подпапки и файлы; Кроме того, код может создавать подпапки / файлы внутри папки после установки этих прав доступа. Для файлов я также хочу запретить пользователю обновлять / перемещать / переименовывать / удалять, но приложение может сделать это. Я играл с DirectorySecurity, но не могу дать желаемых результатов.

var directoryInfo = new DirectoryInfo(path);
            var directorySecurity = directoryInfo.GetAccessControl();

            var windowsIdentity = System.Security.Principal.WindowsIdentity.GetCurrent();
            if (windowsIdentity != null)
            {
                var userName = windowsIdentity.Name;
                directorySecurity.AddAccessRule(new FileSystemAccessRule(userName,
                    FileSystemRights.FullControl, AccessControlType.Deny));
                directorySecurity.AddAccessRule(new FileSystemAccessRule(userName,
                    FileSystemRights.Read | FileSystemRights.ListDirectory | FileSystemRights.CreateDirectories | FileSystemRights.CreateFiles , AccessControlType.Allow));
                directoryInfo.SetAccessControl(directorySecurity);
            }

0 ответов

Другие вопросы по тегам