簡體   English   中英

使用IIS,MVC“拒絕訪問”

[英]MVC “Access is Denied” using IIS

超越“訪問被拒絕”消息時遇到嚴重問題:

錯誤消息401.2:未授權:由於服務器配置而導致登錄失敗。 驗證您是否有權根據您提供的憑據和Web服務器上啟用的身份驗證方法查看此目錄或頁面。 請與Web服務器的管理員聯系以獲取其他幫助。

我是怎么來到這里的

在Windows 7,Professional下運行。 使用AD登錄系統的系統(名稱:SYSTEM \\ login)。 在VS2010中創建了一個名為XYZ的新MVC 3應用程序。 沒有對代碼進行任何更改。 將System.Web.mvc和System.Web.Helpers的引用文件設置為Copy to Local = true。

我的嘗試

  1. 發布XYZ到文件系統位置“C:/ websites / XYZ”。
  2. 將“abc.xyz.com”添加到IPA 127.0.0.1的hosts文件中。
  3. 在IIS管理器中創建名為“XYZ”的新站點,並將物理路徑設置為發布應用程序的路徑(C:/ websites / XYZ)。
  4. 將XYZ綁定到abc.xyz.com:80。
  5. 確保站點運行的應用程序池.NET 4.0,集成。
  6. 應用程序池標識設置為ApplicationPoolIdentity。
  7. 在已發布文件的物理位置,右鍵單擊文件夾,然后轉到屬性 - >安全性,並將IUSR添加到用戶列表,使其完全控制。
  8. MVC項目的身份驗證模式設置為“無”。
  9. 站點身份驗證啟用了匿名訪問,禁用了所有其他功能。
  10. 我還為該站點啟用了目錄瀏覽。

畢竟,我重置了網站,刷新瀏覽器,並重置IIS。 當我去abc.xyz.com時,我仍然收到此消息。 我完全不知道接下來應該檢查什么。

我需要的

誰能幫我這個? 我已經使用“mvc localhost access denied”等組合執行了幾次Google搜索,我實施了我發現的建議。

固定

好。 找到答案......至少對這個應用程序。 我將身份驗證從Windows更改為匿名。 然后,我刪除了拒絕匿名訪問的.NET授權規則。 這兩件事使得能夠訪問應用程序而無需Windows授權附帶的惱人的IIS登錄彈出窗口。

我之前沒有注意到的一件事是我對網站所做的更改反映在發布位置的web.config文件中,而不是源文件中。

不幸的是,每次我發布時都會重置身份驗證。 這可能是我遇到這么多麻煩的真正原因。 學過的知識。 懊惱,我。

另一件我未能澄清的事情是我使用的是IIS 7.5。

在web.config文件中添加它。

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true" />
    <!-- rest of config -->
</system.webServer>

希望這會有所幫助。 :)

如果你想避免復制錯誤文件之類的事情:

  • 在這種情況下使用發布配置文件和轉換:

我的開發箱:

<authentication mode="None" xdt:Transform="Replace"/>
  <authorization xdt:Transform="Replace">
  </authorization>

生產:

<authentication mode="Windows" xdt:Transform="Replace"/>
<authorization xdt:Transform="Replace">
  <deny users="?" />

在創建MVC應用程序時,一個選項是創建“Intranet”應用程序。 這將在Web.config默認打開“Windows”身份驗證。

將此類項目發布到IIS時,需要在IIS管理控制台中為應用程序啟用Windows身份驗證。 您可能還必須禁用匿名身份驗證。

我得到錯誤,因為這行由web.config

https://www.asp.net/visual-studio/overview/2013/using-browser-link

<appsettings>
    <add key="vs:EnableBrowserLink" value="false"></add>
</appsettings>
<system.web>
  <compilation debug="false" targetFramework="4.5" />
</system.web>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM