Я пытаюсь реализовать модель Bell-La Padula на локальных учетных записях Windows на C#, и в этой модели пользователь с более низким уровнем безопасности может записывать файлы, которые относятся к более высокому уровню безопасности без прочитайте его !! Я Добавлено разрешения на файлы, как этотЗапись в файл без разрешения на чтение
file.txt: чтение [отрицать] - писать [Разрешить]
Сейчас я работаю над позволяет пользователю добавлять текст в file.txt не прочитав его. Я использовал это:
using (FileStream aFile = new FileStream(filename, FileMode.Append, FileAccess.Write))
using (StreamWriter sw = new StreamWriter(aFile))
{
sw.WriteLine(DateTime.Now.ToString() + " Modified BY :" + username + Environment.NewLine);
sw.WriteLine(textBox1.Text);
sw.WriteLine("---------- END User Edition --------------");
}
Он работал, когда я запускаю программу из учетной записи администратора, но когда я попытался запустить его Guset аккаунт это поднять исключение: вы не можете получить доступ к этому файлу!
Я попытался добавить разрешения на чтение до начала редактирования и удалить его после завершения, но разрешения на файлы никогда не менялись.
Есть ли программный способ, которым я могу реализовать это, или разрешить моему приложению влиять на файл при запуске его в гостевой учетной записи?
Ваше решение сработало для меня. В моем случае я хотел сделать это на сетевом ресурсе, поэтому мне пришлось дать Full Control всем, чтобы он работал. – expirat001