System.Diagnostics: как войти, используя личность
-
20-08-2019 - |
Вопрос
Я реализовал трассировку на основе System.Diagnostics. Р>
Я также использую System.Diagnostics.TextWriterTraceListener и подключил всю трассировку к веб-приложению MOSS 2007. Р>
По какой-то причине трассировка пытается (а) создать файл журнала и / или (б) записать в файл журнала, используя пользователя, который в настоящее время просматривает сайт SharePoint . Можно ли настроить ведение журнала на использование определенной учетной записи пользователя?
Решение
Очевидно, что 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 требует тяжелой работы; Я только начинаю с бара прямо сейчас ...
Другие советы
Пожалуйста, не говорите мне, что это необходимо - http: // www .15seconds.com / No / 040511.htm? voteresult = 5 р>