我試圖從ASP.net寫入Windows事件日誌。應用程序池在域帳戶下運行,而不是網絡服務。使用自定義應用程序池帳戶從ASP.NET寫入Windows事件日誌
我已經有一切工作在我的開發環境,但有一個問題。由於應用程序池作爲域帳戶運行,因此我必須將(A;;0x0002;;;AU)
添加到Application\CustomSD
註冊表項以允許經過身份驗證的用戶訪問事件日誌。這在我的開發框中沒有問題,但在生產服務器上使用verbotten。 (沒有註冊表調整,他們說,找到另一種方式。)
從我瞭解到,在Windows服務器2K3 SP2默認的事件日誌只允許登錄與LOGON32_LOGON_INTERACTIVE
,LOGON32_LOGON_BATCH
,或LOGON32_LOGON_SERVICE
他們的用戶會話設置的標誌。
有沒有辦法將這些標誌中的一個添加到應用程序池的登錄名中? IIS在啓動應用程序池時不會設置標誌。我看過使用LogonUser
創建一個帶有正確標誌的臨時安全上下文,但需要在某處存儲密碼,如果可能,我想避免這種情況。
有關如何允許IIS使用自定義應用程序池帳戶寫入事件日誌而不修改Windows Server 2k3 SP2上的註冊表的任何想法?
編輯:由於安全限制,我無法將應用程序池帳戶添加到本地管理員組。
資源
Using programmatic Impersonation from an ASP.NET Page
Allowing impersonated accounts to write to your custom event log