0

ユーザーがフォルダーを移動/名前変更/削除できないようにしたいが、フォルダー内を移動してサブフォルダーとファイルを表示したい。また、コードは、これらのアクセス権を設定した後、フォルダー内にサブフォルダー/ファイルを作成できます。ファイルの場合、ユーザーが更新/移動/名前変更/削除できないようにしたいのですが、アプリでこれを行うことができます。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);
            }
4

0 に答える 0