簡體   English   中英

IIS Express自動為我的項目禁用匿名身份驗證,為什么?

[英]IIS Express is automatically disabling anonymous authentication for my project, why?

當我將我的ASP.NET MVC項目從Cassini Web服務器切換到IIS Express時,這將添加到我的applicationhost.config文件中:

<location path="MyProject">
    <system.webServer>
        <security>
            <authentication>
                <anonymousAuthentication enabled="false" />
                <windowsAuthentication enabled="false" />
            </authentication>
        </security>
    </system.webServer>
</location>

這導致該站點無法加載401.2-未經授權,並且我無法在Web.config級別上對其進行修復-然后它將抱怨該部分被鎖定在父級別(HTTP 500.19)。

我可以通過修改applicationhost.config文件來修復它,但是當不為原始ASP.NET MVC項目添加此類部分時,我不明白為什么要這樣做。 有什么事嗎

我正在使用VS 11 beta,但也確認了2010 SP1中的這種奇怪行為。 IIS Express表示它是7.5版。

因為某種原因,這在我的csproj文件中:

<IISExpressAnonymousAuthentication>disabled</IISExpressAnonymousAuthentication>

將其設置為enabled可解決該問題(也可以從Visual Studio中完成,選擇項目,F4,然后在屬性網格中將“ 匿名身份驗證”設置為Enabled )。

請在按F4之前右鍵單擊該項目並選擇使用iis express。

有時以前,我面臨着同樣的困難,但是與我在這里看到的並沒有什么不同。 在我的筆記本電腦中,我同時擁有VS 08和VS 13,以及SQL Server 2008 R2和11G XE。 對於連接到R2的網站來說從來沒有問題,但是當我嘗試使用具有asp.net的oracle成員身份建立網站時,我發現頁面打開,但是具有角色的文件夾下的頁面沒有打開,並且給了我拒絕訪問的錯誤。 盡管該文件夾內部具有適當的web.config,並且用戶創建的角色相同,但仍引發相同的錯誤。 最后,我意識到我需要身份驗證機制,因此我在web.config的system.web中添加了以下代碼:

<authentication mode="Forms">
<forms loginUrl="Login.aspx" protection="All" slidingExpiration="true"
timeout="90" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
<identity impersonate="false"/>
<trace
enabled="false"
requestLimit="10"
pageOutput="false"
traceMode="SortByTime"
localOnly="true"
/>

它確實起作用了,現在我經過身份驗證的用戶可以登錄到指定的文件夾了! 我希望這可以幫助遇到類似我的問題的人。

暫無
暫無

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

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