Iis-7

從 iis7 Web 應用程序寫入事件日誌失敗

  • November 20, 2017

我正在嘗試部署一個使用模擬完成安全性的 .NET Web 應用程序。

在我的開發盒(Win 2003 IIS6)上寫入事件日誌工作正常,但在將應用程序放在實時盒(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 的系統資料庫項中沒有這個。

一點幫助??

即使使用模擬,也有可能使用您的應用程序池身份。某些應用程序 RevertToSelf 並且不尊重模擬。

來自sysinternals的程序監視器將成為您在這個項目中的朋友。它在生產伺服器上是免費且安全的。啟動它並重現情況以獲得擷取。然後搜尋拒絕一詞,或搜尋 CustomSD 或 Eventlog。應該出現一種模式,該模式將顯示哪個使用者正在嘗試獲得訪問權限以及如何授予該使用者訪問權限。

引用自:https://serverfault.com/questions/92618