2

コードは次のとおりです。

var sid = new SecurityIdentifier(WellKnownSidType.WorldSid, null);
var directorySecurity = new DirectorySecurity();
directorySecurity.AddAccessRule(new FileSystemAccessRule(sid, FileSystemRights.FullControl, AccessControlType.Allow));
Directory.CreateDirectory(Path.GetDirectoryName(this.PathToSettings.LocalPath), directorySecurity);
var fileSecurity = new FileSecurity();
fileSecurity.AddAccessRule(new FileSystemAccessRule(sid, FileSystemRights.FullControl, AccessControlType.Allow));
using (var fs = new FileStream(this.PathToSettings.LocalPath, FileMode.Create,     FileSystemRights.FullControl, FileShare.None, 1024, FileOptions.None, fileSecurity))
{
    var bytes = Encoding.UTF8.GetBytes(Resources.DefaultSettings);
    fs.Write(bytes, 0, bytes.Length);
}

問題:Windows 7では、これらのアクセスルールはファイルに適用されません(ファイルのプロパティダイアログのページにグループEveryoneが表示されません)。Security

指定されたファイルへのアクセスをすべての人(管理者、ユーザーなど)に許可したい。

私が間違っていることは何ですか?

4

1 に答える 1

0

問題は、設定を保存するクラスにありました。古いファイルを削除し、新しいファイルを作成します(デフォルトのセキュリティルールを使用)。非常に愚かで、なぜ誰かがそのようなコードを書いたのかわかりません。

于 2011-08-25T13:08:02.913 に答える