ASP.NET 偽装

ASP.NET 偽装
@IT:連載:プログラミングASP.NET 第17回 ASP.NETにおける認証と認定
ASP.NET偽装を有効にしていると、ASP.NETアプリケーションがIUSRで実行されたりするため、イベントログに書き込めないなど、アクセス権関連のトラブルが発生する可能性がある。
たとえば、ASP.NET偽装を有効にしていたため、以下の例外が発生した。

System.InvalidOperationException がキャッチされました
  Message="ソース 'XXX' のログを開けません。ユーザーに書き込みアクセス権がありません。"
  Source="System"
  StackTrace:
       場所 System.Diagnostics.EventLog.OpenForWrite(String currentMachineName)
       場所 System.Diagnostics.EventLog.InternalWriteEvent(UInt32 eventID, UInt16 category, EventLogEntryType type, String[] strings, Byte[] rawData, String currentMachineName)
       場所 System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType type, Int32 eventID, Int16 category, Byte[] rawData)
       場所 System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType type, Int32 eventID, Int16 category)

この例外は、IISの仮想ディレクトリの設定で、ASP.NET偽装を無効にすることで解決した。