iis的基本authentication与Kerberos?

一位朋友告诉我,他使用IIS的基本身份validation来validation他的web应用程序。 该系统也使用Kerberos,但Basic Authentication和Kerberos如何协同工作? 我知道基本身份validation在Base64中发送密码(如明文),Kerberos不通过networking发送密码,它使用票据系统。 那么,Kerberos如何使用基本身份validation进行整合?

我认为应用程序必须做的是提示用户input用户名和密码,然后使用它对一些后端Kerberos系统进行身份validation。 此时,Web应用程序可以模拟用户并根据需要连接到其他资源。 微软在这里简要介绍了这种技术。

我不认为这是一个好主意,因为用户现在必须相信Web服务器不要存储他的密码和/或以不需要的方式冒充他。 使用纯粹的Kerberos设置,用户可以确信Web服务器是自称的人,并限制授权,而不向任何人透露他的密码。 但是,防火墙,互联网以及其他各种因素常常使得使用基本身份validation而不是纯粹的Kerberos变得有吸引力或必要。

大多数Web应用程序使用基本身份validation,也称为基于表单的身份validation,通常使用SSL来保护凭据。 唯一一次使用集成身份validation的是Intranet站点(SharePoint是一个众所周知的可以利用集成身份validation的例子)。 集成身份validation听起来很棒,但要正确工作并使其可靠运行可能会非常棘手。 基于表单的authentication通常更可靠。

Web服务器接受用户提供的凭据,并使用… Kerberos代表它们与Active Directory进行身份validation。 如果Web应用程序需要模拟用户并访问IIS服务器外部的资源(常见场景),则需要Kerberos身份validation。 (即,NTLM身份validation将无法在该模拟情况下工作)。