2013-05-30 200 views
0

這是我的Web.Config的一個提取窗口身份驗證設置。無法使用Windows身份驗證IIS

<authentication mode="Windows" /> 
<identity impersonate="true" /> 
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider" /> 
<authorization> 
    <!-- The following roles are group memberships in Active Directory. --> 
    <allow roles="domain\finance,domain\it" /> 
    <deny users="*" /> 
</authorization> 

進出口使用.NET 4.0經典pipemode:經典

在IIS我已經申請了以下身份驗證設置:

Anonymous Autehntication: Disabled 
ASP.Net Impersonation: Enabled 
Basic Authentication: Disabled 
Digest Authetication: Disabled 
Forms Authetication: Disabled 
Windows Authentication: Enabled 

當從用戶帳戶訪問頁面的角色(AD組)內我正在顯示一個用戶名/密碼窗口:(

這裏在整個的web.config

<?xml version="1.0" encoding="UTF-8"?> 

<configuration> 
    <system.net> 
     <mailSettings> 
      <smtp deliveryMethod="Network" from="[email protected]"> 
       <network host="10.0.0.150" port="25" /> 
      </smtp> 
     </mailSettings> 
    </system.net> 
    <system.web> 

     <compilation targetFramework="4.0" /> 

     <customErrors mode="Off" /> 


    <authentication mode="Windows" /> 
    <identity impersonate="true" /> 
    <roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider" /> 
    <authorization> 
     <allow roles="domain\finance,domain\it" /> 
    </authorization> 

    </system.web> 

</configuration> 
+0

我將您的標記從asp-classic更改爲asp.net。 IIS中的管道模式對於經典ASP(舊的* .asp文件)具有**沒有任何作用。 – Tim

+2

您允許角色,但您拒絕所有*用戶 - <<拒絕用戶=「*」>'。這就是爲什麼你會看到用戶名/密碼窗口。嘗試'<拒絕用戶=「?」>',這將拒絕所有未經認證的用戶。 – Tim

+0

謝謝@Tim。我會用什麼來否認所有其他人? – goingsideways

回答

1

可能的解決方案可以是:

  1. 確保您使用的是Internet Explorer的基於瀏覽器的,因爲Windows身份驗證獲得通過IE您的登錄憑據,憑據,否則要求是一種正常的行爲。

  2. 如果您使用IE瀏覽器 - 確保您正在訪問的網站添加到「本地Intranet」站點

  3. 檢查要部署的解決方案的物理文件夾,因爲可以有一定的NTFS權限拒絕訪問並因此要求信用。