无法使用Windows身份验证IIS

时间:2013-05-30 05:37:51

标签: asp.net authentication iis

以下是我的用于Windows身份验证设置的Web.Config的摘录。

<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经典管道模式:经典

在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="it@domain.com">
                <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>

1 个答案:

答案 0 :(得分:1)

可能的解决方案是:

  1. 确保您使用的是基于Internet Explorer的浏览器,因为Windows身份验证通过IE获取您的登录凭据,否则请求凭据是正常行为。

  2. 如果您使用的是IE - 请确保您访问的网站已添加到“本地Intranet”网站

  3. 检查要部署解决方案的物理文件夹,因为某些ntfs权限可能会拒绝访问,从而要求提供信用。