[英]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。
畢竟,我重置了網站,刷新瀏覽器,並重置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.