Сбой записи в журнал событий из веб-приложения 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. Должен появиться шаблон, который покажет, какой пользователь пытается получить доступ и как предоставить ему доступ.