Windows Server 2008 R2 網站:模擬問題
我有一個使用模擬的網站。當我的匿名使用者設置為 IUSR 並將應用程序池標識設置為 NetworkService 時,某些頁面不顯示。我得到一個空白頁,沒有錯誤消息。
如果我將匿名使用者設置為 ApplicationPoolIdentity 並將池標識設置為 localSystem ,它工作正常。
如果我將匿名使用者設置為管理員使用者,它工作正常。
我知道我遇到了安全問題,但我不知道我需要什麼文件夾來設置安全策略以確保一切正常。
我將對網站文件夾的讀/寫訪問權限授予 IUSR、IIS_IUSRS、網路服務和我的模擬使用者組。
在我的允許下,有人知道會發生什麼嗎?
我也找到了這篇文章,但沒有成功.. http://blogs.iis.net/webtopics/archive/2009/03/13/changes-to-application-pool-identities-in-iis-7-5-測試版.aspx
我發現了問題。
http://forums.asp.net/p/1459236/3386036.aspx
有問題
Microsoft 已確認這是 .Net Framework 2.0、3.0 和 3.5 中的一個錯誤。以下是我從他們那裡收到的電子郵件中的一段話:
"
我們看到的問題確實是一個錯誤,以下是相同的解釋。
它的初始化常式所做的一件事是將 Params 集合設置為 NULL。這就是導致 AV 的原因,當 FillInParamsCollection 方法嘗試初始化 QueryString 對象之後的下一個對象時。”
解決方法 預初始化 QueryString 對像以避免該問題。只需訪問 Request.QueryString()。我們不必對它做任何事情,只需訪問它。
樣本:
Object o = context.Request.QueryString; NameValueCollection parameters = context.Request.Params;
"
解決方案是直接在程式碼中使用,
Request["Value"]
而不是Request.Params["Value"]
請參閱文章建構安全的 ASP.NET 應用程序:身份驗證、授權和安全通信。
這將使您更好地了解 ASP.NET 應用程序在模擬時使用的身份。給予必要的許可,你很好。
高溫高壓