Security
Windows 2008 伺服器上 IIS 7 中的 ASP.net 使用者帳戶權限
我在我的 ASP.net 應用程序中設置了一個全域錯誤處理程序,使用 Log4Net 和一個 RollingLogFileAppender,它一直工作得很好。
我正在升級到 Windows 2008 伺服器上的 IIS 7,但我無法讓日誌記錄正常工作。我認為正在引發錯誤,但 ASP.net 沒有寫入指定文件夾所需的權限。現在,我通常只會向 ASPNET 使用者授予完全權限並完成它,除非該使用者帳戶不再存在。另外,我也找不到“Everyone”使用者組。我不想胡鬧創建新使用者帳戶、設置模擬等。有簡單的解決方案嗎?
在 IIS6 和 IIS7 中,ASP.NET 對 ASPNET 使用者的等效項是應用程序池標識使用者。預設情況下,IIS7 中的 NETWORK SERVICE 和 IIS 7.5+ 中的 App Pool 標識。您可以授予該使用者對磁碟的權限,它將起作用。
“更好”的方法是為每個應用程序池創建自定義使用者並為他們分配磁碟權限,以便站點彼此隔離,並且伺服器上使用網路服務的其他應用程序無法訪問您站點的內容. 但是,這是您需要根據自己的情況做出的判斷。
另一個起作用的使用者是您網站的匿名或經過身份驗證的使用者。這是在您網站的身份驗證 -> 匿名部分中定義的。在 IIS7 中,我建議將其設置為使用應用程序池標識,只要每個池只有 1 個站點,或者只要應用程序池中的每個站點相互高度信任。然後你只需要在磁碟上維護 1 個使用者。