我有一个企业域的网站,使用Kerberos自动login从IE和Chrome身份validation就好了,只要用来访问它的DNS属于AD FQDN
AD域不是公有领域,在这个例子中,我们把它叫做company.internal.corp.net 。 标准SPNconfiguration了IIS域用户帐户,例如HTTP / somesite.company.internal.corp.net mycompany \ svc_iis ,IEconfiguration为将此站点视为Intranet站点(允许自动login)
FQ AD Domain: company.internal.corp.net NETBIOS domain name: MYCOMPANY DNS for my website: somesite.company.internal.corp.net IIS App Pool account: MYCOMPANY\svc_iis SPN: HTTP/somesite.company.internal.corp.net MYCOMPANY\svc_iis
我已决定将此站点的DNS更改为另一个名称somesite.mycompanypublic.com ,以利用我公共证书上的SSL证书链。 我不打算让网站可以外部访问。 DNSlogging将指向同一台服务器,仅用于内部parsing和访问,并将IEconfiguration为将此站点视为Intranet站点(允许自动login)。 所以现在我有这个设置:
FQ AD Domain: company.internal.corp.net NETBIOS domain name: MYCOMPANY DNS for my website: somesite.mycompanypublic.com <-- new DNS name, not same as AD domain IIS App Pool account: MYCOMPANY\svc_iis SPN: HTTP/somesite.mycompanypublic.com MYCOMPANY\svc_iis <-- new DNS name, not same as AD domain
使用这个新configuration,DNS服务名称不再与AD域名匹配,但我不清楚这是否应该
如上所述configuration后,Kerberos不再起作用。 IE会提示inputNTLM的用户名/密码,chrome有时会提示,而且往往会得到一个失败页面。 提琴手跟踪显示Kerberos票证通过,但服务器每次拒绝与另一个401每次。 IE 被configuration为将本站点视为内部网站(允许自动login),所以这不是问题 – 我看到了票证通过。
这个configuration是否被支持? 疑难解答想法
它的行为就像SPN没有正确configuration。 如果需要,我可以提供提琴手的痕迹或wireshark帽。
SPN不需要与AD域匹配。 您需要拥有与用于连接的名称相匹配的SPN。 我不确定你的意思是“Kerberos ticket passing”。 如果将Kerberos凭据传递给服务器,则HTTP授权标头应该以“Negotiate Y”开头。
可能最快的做法是设置DelegConfig工具并使用报告/向导来testing您的configuration。
http://blogs.msdn.com/b/chaun/archive/2013/09/15/some-tips-on-setting-up-the-delegconfig-tool.aspx
疑难解答ASP.NET
http://support.microsoft.com/kb/891032
这个问题与域名不同,完全没有关系 。 您可以使用任何域,只要IEconfiguration正确,通过票证,SPN在AD中正确configuration。 格雷格的回答给了我几个链接,我鼓励你去探索一下,如果你来这里解决SPN问题。
我发现我需要禁用内核模式authentication,这也要求我解锁configuration部分。 我还发现,如果该网站的DNS条目是CNAME,则Internet Explorer(而不是Chrome)将使用创buildSPN故障单时CNAME指向的主机的名称。
我必须将服务器configuration为使用应用程序池凭证
<system.webServer> <security> <authentication> <windowsAuthentication enabled="true" useAppPoolCredentials="true" /> </authentication> </security> </system.webServer>
了解和configuration内核模式
但是为了改变这个configuration块,需要以下内容:
一位同事指出我在IISpipe理员(计算机)级别的“function授权”图标(Thanks,Ryan)。 点击“function委托”页面可显示function列表及其当前覆盖设置。 除less数例外情况外,每个function都可以更改为读/写,只读或未授权
解锁configuration部分