Сбой записи в журнал событий из веб-приложения iis7

Я пытаюсь развернуть веб-приложение.NET, безопасность которого осуществляется с помощью олицетворения.

Запись в журнал событий работает нормально на моем устройстве dev (Win 2003 IIS6), но после помещения приложения в live box (Win 2008 IIS7) я получаю следующее;

Access is denied [Win32Exception (0x80004005): Access is denied] [InvalidOperationException: Cannot open log for source 'MyApp'. You may not have write access.]
System.Diagnostics.EventLog.OpenForWrite(String currentMachineName) +1815151
System.Diagnostics.EventLog.InternalWriteEvent(UInt32 eventID, UInt16 category, EventLogEntryType type, String[] strings, Byte[] rawData, String currentMachineName) +452
System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType type, Int32 eventID, Int16 category, Byte[] rawData) +463
System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType type) +30

Лучшая помощь, которую я нашел на Google, была; http://support.microsoft.com/default.aspx?scid=kb;en-us;323076| http://msdn.microsoft.com/en-us/library/aa379570%28VS.85%29.aspx

Ссылка на; HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Eventlog\Application\CustomSD сбивает меня с толку, так как у меня этого нет в разделе реестра на live box.

Маленькая помощь??

1 ответ

Решение

Даже при олицетворении возможно, что используется ваша идентификация пула приложений. Некоторые приложения RevertToSelf и не соблюдают олицетворение.

Монитор процесса от sysinternals станет вашим другом в этом проекте. Это бесплатно и безопасно на рабочем сервере. Запустите его и воспроизведите ситуацию, чтобы получить захват. Затем найдите слово "отказано" или найдите CustomSD или Eventlog. Должен появиться шаблон, который покажет, какой пользователь пытается получить доступ и как предоставить ему доступ.

Другие вопросы по тегам