2010-04-26 100 views
3

是否可以在使用Windows身份驗證的ASP.net應用程序的一個或多個子文件夾上禁用Windows身份驗證?使用Windows身份驗證禁用對ASP.NET應用程序的子文件夾的身份驗證

例如:

一個網站包含了包含整個應用程序的部分其他幾個文件夾:/前端,/後端/登錄

bin文件夾是在同一水平上,因爲這些子文件夾,即網站的根源。

所有這些子文件夾都包含使用駐留在網站根目錄的bin文件夾中的二進制文件的頁面。

用戶在訪問後端文件夾中的頁面時必須輸入Windows憑據,而不是在登錄或前端文件夾中訪問頁面時輸入Windows憑據。

我正在使用IIS7

任何想法?

+0

未做子文件夾應用程序本身單獨web.config文件。 (取決於IIS的版本) – Russell 2010-04-26 11:59:45

回答

3

NTLM身份驗證通常在IIS中配置,因此您可以切換回這些文件夾的匿名身份驗證。

alt text

+0

禁用Windows身份驗證並啓用匿名訪問似乎沒有辦法。我錯過了什麼嗎? – 2010-04-27 14:42:58

+1

問題是關於IIS7的問題,這個答案的截圖是IIS6。 – 2011-12-01 18:52:51

12

實測值的溶液:

  • 調整applicationHost.config文件,並改變了 「overrideModeDefault」 爲 「允許」 爲anonymousAuthentication烯windowsAuthentication部條目

      <section name="anonymousAuthentication" type="System.WebServer.Configuration.AnonymousAuthenticationSection" overrideModeDefault="Allow" /> 
          <section name="windowsAuthentication" type="System.WebServer.Configuration.WindowsAuthenticationSection" overrideModeDefault="Allow" /> 
    
  • 爲web中的每個文件夾/文件添加了位置標籤DED被排除在Windows身份驗證

    <location path="pathToDirOrFile"> 
        <system.webServer> 
         <security> 
         <authentication> 
         <anonymousAuthentication enabled="true" /> 
         <windowsAuthentication enabled="false" /> 
         </authentication> 
         </security> 
         </system.webServer> 
        </location> 
    
  • 確信這些文件夾中的每一個載有沒有禁用身份冒充

    <configuration> 
        <system.web> 
        <identity impersonate="false" /> 
        </system.web> 
        </configuration> 
    
+0

這適用於一些注意事項: 1)似乎需要IIS來識別applicationHost.config更改。 2)該網站仍然提示輸入用戶名/密碼,並且需要輸入內容(user:user)。不知道如何避開提示。 – 2013-10-23 22:32:57