我在一个域中有带有w2k8和IIS7的服务器,以及来自其他外部域的密钥表(没有信任)。是否可以启用Windows身份验证(SPNEGO/Kerberos)以从这些外来域对Web应用程序中的用户进行身份验证?
理论上是可能的,但使其工作的后勤工作几乎不可能实现。
我不知道IIS是否支持这一点,但是在kerberos API中可以说"尝试使用密钥表中的每个密钥解密此响应"。从理论上讲,这可以使用使用来自远程领域的密钥,尽管我从未见过代码尝试这样做。
但是,问题是客户端需要决定使用领域和主体来制作基于协议外部信息的请求。因此,您需要以某种方式告诉所有远程域中的 Web 客户端在联系 Web 服务器时使用远程域在 W2K8 域中。你可以在 unix 机器上使用 krb5.conf 来做到这一点,但它需要使用远程领域的标识在每个客户端上自定义 krb5.conf。
一般来说,只有当存在某种跨领域时,kerberos 才能跨多个领域工作。已启用信任。