2013-08-02 44 views
4

我在遠程Win2K8R2虛擬機上安裝了ASP.NET 4 Web窗體應用程序。我無法遠程部署任何東西到這個盒子,所以我發貨了我在本地安裝的VS2012 Web Deployment Package。我通過WebPI 4.6安裝了IIS推薦配置。IIS7 - 401.2表單/匿名身份驗證啓用錯誤

我開始在集成管道模式下使用默認應用程序池(我的將是IIS上的唯一Web應用程序),並使用LocalSystem標識。這與我成功用於Win2K8 VM和Win2K8物理盒上的其他Web應用程序的配置完全相同。

我正在使用表單/匿名身份驗證。該帳戶目錄授權這種方式配置:

enter image description here

我的應用程序授權配置是這樣的:

enter image description here

UPDATE: 我的應用程序驗證配置是這樣的:

enter image description here

我的成員資格提供配置是這樣的:

<membership defaultProvider="ActsMembershipProvider"> 
       <providers> 
        <clear /> 
        <add connectionStringName= [myString] 
        name= [providerName] 
        type= [assemblyName].[providerName] /> 
       </providers> 
</membership> 

我的窗體身份驗證配置是這樣的:

<authentication mode="Forms"> 
     <forms name=".ASPXAUTH" loginUrl="~/Account/Login.aspx" defaultUrl="~/" protection="All" timeout="30" path="/" requireSSL="false" slidingExpiration="true" cookieless="UseDeviceProfile" enableCrossAppRedirects="false" /> 
</authentication> 

更新: SO搜索後,這是我曾嘗試:

  1. 用IIS重新註冊ASP.NET。 (aspnet_regiis -ir
  2. 以IUSR作爲匿名身份驗證用戶,授予IUSR完整的Web應用程序目錄權限。
  3. 將應用程序池標識切換到NetworkService並授予NETWORKSERVICE的應用程序目錄權限。
  4. 從IUSR切換到我的服務器用戶名(xxxx/s_usr_acts,如前面的屏幕截圖所示),並授予s_usr_acts完全的Web應用程序目錄權限。
  5. aspnet_regiisat the app level

我可以到達我的登錄頁面,但是當我嘗試登錄時,我不斷收到401.2錯誤。還有其他我可以檢查或嘗試的嗎?

附加信息:

  • 更新:我有一個Rackspace公司Win2k8生產彩盒成功配置此相同的應用程序和內部Win2k8 VM。
  • 我通過ASP.NET Membership Provider進行身份驗證。
  • 我對Oracle的數據提供者運行EF5。
+1

401.2表示「由於沒有身份驗證的服務器配置而導致登錄失敗」。您已經顯示了您的應用程序的授權規則,但認證配置的外觀如何?會員供應商是否正確配置和執行? – Snixtor

+0

感謝您回覆Snixtor。正如我在文章中提到的,我啓用了表單和匿名身份驗證(而不是Windows身份驗證)。我將添加一個屏幕快照和web.config的一部分。 – bflow1

+0

是否涉及https?如果這樣正常工作? –

回答

2

UPDATE2:當我跑我的Web部署包從C的根:推動我們的客戶的服務器上,我遇到了401.2。但是,當我從桌面上運行它時,我不再遇到401.2,並且「進步」到Oracle連接錯誤。我有這個答案,因爲我的發現解決了具體問題,儘管我沒有以任何方式考慮這個規範。我仍然希望有一些更接近於規範的答案。

0

我有同樣的問題,我在IIS身份驗證面板更改匿名身份驗證憑據時解決了它。當我選擇「應用程序池標識」時,錯誤消失。我不知道爲什麼這是解決方案。雖然我不知道這個錯誤的起源是什麼,因爲我只想更新我的web應用程序,從web.config文件以外的部署文件夾複製文件。 現在,在撲滅火災後,我會調查爲什麼會發生。目前我認爲這可以幫助某人。