.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);
}