集成Windows身份验证

Lee*_*ole 6 asp.net authentication iis dns active-directory

使用IIS进行集成Windows身份验证时,我们遇到了一些非常奇怪的问题,我不确定是否可以看到模式.

我们有一个名为Fred的DNS-Cname记录.我们有一个IIS网站,Fred设置为主机头.当我连接到此站点时,我会收到凭据质询提示.我希望我的证书能够通过.如果我输入我的凭据,我将被授予访问权限.

然后,我创建一个名为Betty的本地主机条目,并将主机文件指向与Fred相同的IP地址,并将主机头更改为Betty.任何地方都没有关联的CName记录.当我访问Betty时,我会自动进行身份验证,一切都很好.

如果我试图绕过CName记录并在名为Fred的本地主机文件中创建一个条目,并将主机头更改回Fred.我仍然收到身份验证挑战.

我认为它有两个问题.这个CName记录如何影响这里的分辨率,还是一个红色的鲱鱼.其次,这一挑战正在发生什么?我们在其他地方也有类似的症状,我们担心的是我们的身份验证令牌会在某处受到抨击.有人可以通过身份验证发生订单,即将数据包发送到哪些计算机.有没有办法可以追踪这个?(我在想WireShark或类似的东西).如何证明我的身份验证令牌已通过且有效?

Tom*_*lak 6

身份验证框的原因很简单:仅当Internet Explorer认为主机位于"本地Intranet"区域(假定为默认配置)时,Internet Explorer才会发送您的凭据.如果IE认为"本地"之外的主机要求提供NTLM凭据,则会出现一个身份验证框,您必须手动进行身份验证.

如果您希望自动发送凭据,请确保IE在"本地Intranet"中认为它.检查状态栏最右侧的区域信息以查看当前活动区域.

IE会考虑多种因素来决定是否将主机视为"本地Intranet":

  1. 它是本地子网中的IP地址 - >是
  2. 它是一个简单的主机名(即"无点") - >是
  3. 在IE选项中:它是在"本地内联网"的"站点..."列表中 - >是
  4. 在IE选项中:它是在代理排除列表中 - >是
  5. 它是UNC路径 - >是
  6. 否则:不
  7. 有时,该主机名的个人密码列表中存在旧密码(可通过"控制面板" - >"用户帐户"访问).如果是错的,可能会出现类似的问题.

我怀疑你的主人"fred"不符合条件#2到#4,但你的测试用例"Betty"不知何故.

解析名称的方式(CName记录,A记录,hosts文件,其他)没有区别,因为名称解析方法对调用应用程序是不透明的.IE只询问名称"XYZ"并获取IP地址.

但是,最近的配置更改可能需要您清除本地DNS缓存.偶尔ipconfig /flushdns会有帮助,或者你可以停止DNS客户端服务一段时间.

所描述的内部逻辑应用于主机名,并且安全设置基于结果而改变.