0

このコードを使用して、ファイルへのアクセス許可を拒否しました。それは完璧に機能しました。

string fileName = @"c:\untitled.jpg";
FileSecurity fSecurity = File.GetAccessControl(fileName);
fSecurity.AddAccessRule(new FileSystemAccessRule("Everyone",    
                        FileSystemRights.FullControl, AccessControlType.Deny));
File.SetAccessControl(fileName, fSecurity);

アクセス制御をリセットするための以下のコード

fSecurity.ResetAccessRule(new FileSystemAccessRule("Everyone", 
                     FileSystemRights.FullControl, AccessControlType.Allow));

ここで、ファイルにアクセス許可を設定します。他の人にファイルへのアクセス許可をリセットしてほしくありませんが、新しいプロジェクトを開いてアクセス ルールをファイルにリセットするコードをコピーすると、ファイルへのアクセス許可がリセットされました。そうなってほしくありません。

C# プログラミングを知っている人は、C# コードで拒否されたファイルへのアクセス許可を簡単にリセットできるため、C# コードでファイルのアクセス許可をリセットしたいだけです。

自分の C# コードを使用して、他のユーザーがファイルのアクセス許可をリセットするのをブロックできますか? ファイルのアクセス許可は、私の C# コードからのみリセットする必要があります。

4

1 に答える 1

2

パーミッションを更新するために書いたのと同じコードを他の誰でも書くことができるので、コードを介してそれを行うことはできません (プログラムが永続的に実行され、ファイルをロックしない限り)

これを Windows NTFS アクセス許可で管理する方がよいため、他のアプリのユーザーはアクセス許可を変更するアクセス許可を持っていません (したがって、実行中の ap も変更できません)。

于 2013-03-01T04:10:49.567 に答える