Очевидно, MOSS настроен на использование проверки подлинности Windows (Kerberos) и imersonation. Если вам не нужно олицетворять текущего пользователя, вошедшего в систему мха, отключите олицетворение (его можно найти в web.config). Вы обнаружите, что файлы журналов будут создаваться и записываться пользователем, под которым работает пул приложений вашей установки moss.
Если вы ДОЛЖНЫ использовать олицетворение, то другое решение - дать всем право создавать и записывать файлы в каталог журналов (и ТОЛЬКО в каталог журналов). Однако это не самая лучшая идея. Вы можете запретить права на чтение для всех, кроме тех, кому нужно читать журналы, но вам все равно придется беспокоиться о людях, пытающихся сделать вам DoS, заполнив диск.
Третий вариант - перед входом в систему поменять личность. Примерно так может работать:
var wic = WindowsIdentity.Impersonate(IntPtr.Zero); // "revert to self"
/* LOG GOES HERE K */
wic.Undo(); // return to impersonation
БОЛЬШОЙ ПРОСМОТР: Я сам изучаю этот материал, поэтому приведенный выше код может вообще не работать. Если это так, то это приятно, потому что вам не нужно p / invoke для входа в систему при регистрации вашей записи журнала, что также означает, что вам не нужно создавать этого пользователя и хранить его пароль в виде открытого текста в вашем приложении. *
Интересно, где этот Скитер на этом? Безопасность Windows требует тяжелой работы; Я только сейчас начинаю с бара ...