【问题标题】:Kerberos authentication for delegation in IIS 7.0IIS 7.0 中委派的 Kerberos 身份验证
【发布时间】:2012-08-18 17:22:23
【问题描述】:

我正在尝试创建一个 .net 网页,该网页使用 UserPrinciple.Current 来获取当前登录用户的详细信息,并允许他们更改其 Active Directory 密码。

经过一番猛烈抨击后,我得到了它的工作(耶!)。我唯一的问题是我希望它在我们的 Intranet 站点 (http://intranet) 上运行,但它似乎只有在我指定完全限定的域名 (http://intranet.mydomain.co.uk) 时才有效。p>

查看此页面 (How to configure an ASP.NET application for a delegation scenario),“摘要”部分底部的故障排除部分似乎包含两条相互冲突的建议:

3.要使 Kerberos 正常工作,您必须使用完全限定域名 (FQDN) 进行所有通信。

5.如果 Web 服务器使用完全限定域名,则必须将该站点添加到 Internet Explorer 中的 Intranet 站点列表中。

请注意,第 5 项以 IF 开头 - 表明它没有 HAVE 这样做。但是第 3 条指出 FQDN 是必要的。

所以问题很简单:我可以通过 IIS 7 设置委托而不使用 FQDN 主机名吗?

【问题讨论】:

    标签: iis-7 kerberos


    【解决方案1】:

    你需要both,否则它不会有充分的理由工作,IE 将回退到 NTLM。顺便说一句,编写一个用户可以更改其 AD 密码的 web 应用程序真的毫无意义。这应该通过 Windows 更改密码对话框而不是某些第三方工具来完成。

    【讨论】:

    • 只有当您的用户有权访问 Windows 更改密码对话框时,这才毫无意义。如果他们是使用移动设备的移动用户,那么(至少在我们拥有的设置下)他们没有那个,所以要更改他们的密码,他们要么需要一个可以远程访问的网络应用程序,要么他们必须专程进办公室。不过,您仍然回答了我的问题,因为我必须使用 FQDN。
    • 我讨厌电脑。我刚刚回到我的“更改密码”网页,现在没有使用 FQDN 可以正常工作。我发誓当我在周五晚上回家的路上离开它时它没有工作!所以我的问题的答案似乎是:是的,你可以在没有 FQDN 的情况下进行授权,只要不是星期五晚上......
    • 这如何工作? Kerberos 应该会失败。如果可以,请使用 Wireshark 检查 HTTP 流量并报告。我很乐意了解正在发生的事情。
    • 好吧,我不是 Wireshark 的专家,但在检查了流量后,它肯定通过了 Kerberos 票证(它必须这样做才能使 AD 更改密码请求生效)。票 DOES 包含 Intranet 站点的 FQDN,尽管我没有在 URL 中指定它,这解释了它为什么工作,即使它没有解释 FQDN 是如何到达那里的。我猜想在某个地方,某些东西会识别出“intranet”实际上转换为“intranet.mydomain.co.uk”——可能来自 DNS 记录?
    • 是的,可能是 DNS。它的工作原理如下:GSS-API/SSPI 将主机名解析为 IP 地址,然后反向解析为主机名。这就是 SPN 的构建方式。这可能就是你的情况。
    猜你喜欢
    • 2010-09-25
    • 2011-04-16
    • 1970-01-01
    • 2021-05-03
    • 2011-02-27
    • 2015-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多