2016-11-17 194 views
2

在我們的生產服務器上運行ASP.NET Web API項目時出現以下錯誤。HTTP 403禁止訪問:拒絕訪問ASP.NET Web API

403 - 禁止:訪問被拒絕。您無權使用您提供的憑據查看此目錄或頁面的 。

望着IIS 7.0錯誤日誌的基本錯誤是

403.14 - 拒絕目錄列表。

我配置了生產服務器,因此它與登臺服務器(工作)具有相同的設置。認證,模塊,授權,權限等都完全相同。

繼此線程403 - Forbidden: Access is denied. ASP.Net MVC一個建議,我設法得到它的工作通過增加runAllManagedModulesForAllRequests =「真」我的web.config文件。

<模塊runAllManagedModulesForAllRequests =「真」 >

雖然這個作品,我不認爲這是一個長期的解決方案,因爲它會導致服務器上的不必要的負載。

所以它似乎表明某些東西沒有得到加載,應該得到加載。

+0

你檢查了UrlRoutingModule安裝嗎? –

+0

是的,這是安裝 – DomBurf

回答

0

Hi @DomBuff您可以在將應用程序部署到生產環境時遵循此方法。 1-以發佈模式發佈應用程序。 2-將您的應用程序放入inetpub - wwwrot文件夾中,因爲此文件夾具有管理員權限。

希望它應該運行。

+0

不幸的是,沒有奏效。儘管出現了錯誤消息,但我並不認爲問題與權限有關。我懷疑它試圖加載默認頁面,但由於未加載所需的模塊,導致路由出現錯誤。當然,我可能是錯的。 – DomBurf

-1

當您沒有權限訪問文件夾/ web.config文件時,將彈出上述錯誤。

請嘗試以下

1.In Windows Explorer, locate the web.config file that is associated with the application. 
2.Right-click the web.config file 
3.Click Properties. 
4.Click the Security tab, and then click Edit. 
5.Click Add. 
6.In the Enter the object names to select box, IUSR, click Check Names, and then click OK. 
7.Provide Full control, and then click OK. 
8.In the Web.config Properties dialog box, click OK. 

,我認爲它應該工作。

+0

當我最初配置應用程序時,我已經授予該用戶完整權限。 – DomBurf

+0

好的。你有沒有嘗試在IIS中啓用目錄瀏覽? –

+0

這是問題所在。這是一個Web API(MVC)應用程序,所以默認文檔通過URL路由加載,這就是爲什麼我懷疑這個問題與權限無關,而是一個程序集/模塊沒有得到加載來處理這個問題。另外,當我在我的web.config中設置時,問題消失,從而證實了我的懷疑。 – DomBurf

0

我們錯過了部署配置,應用程序池關聯應用不存在。我創建了一個名稱相同的應用程序池,並且此錯誤已消失。