Kerberos身份validation支持委派,但委托需要客户端和服务器之间的协作。
例如,如果客户端使用SSPI,则在调用InitializeSecurityContext时,必须设置ISC_REQ_DELEGATE标志。
如果服务器,IIS(更准确地说应用程序在IIS上运行)想要使用客户端的身份validation进行另一个远程访问,客户端(IE浏览器)必须使用委托,但是如何知道服务器想要这样做?
这取决于浏览器。 SSPI实际上使用两件事来控制委派。 首先,需要根据您的讨论设置InitializeSecurityContext的ISC_REQ_DELEGATE标志。 其次,虽然Active Directory中的计算机帐户必须包含受信任的委派标志。 该标志在Kerberos文档中也称为“好委托代理”。 这个想法是浏览器总是可以在InitializeSecurityContext中设置委托请求标志,但是Active Directory决定委托是否工作。 如果Web服务器的计算机帐户允许,IE通常会设置该标志,并且通常会支持委派。 请参阅这里了解如何在Firefox中配置委托。
请参阅这里了解如何配置Web服务器的计算机帐户的讨论。 并且在这里看一看代表团的讨论,它的风险和受限的授权,这是一个不需要浏览器合作的选择。 如果您需要编码到GSS-API而不是SSPI,请参阅此RFC以了解您的http客户端如何使用ok-as-delegate标志