据我了解,
SPN是Windows服务的身份验证工具.
Kerberos是一种用户身份验证服务
SPNEGO-GSSAPI是能够使用这些服务的第三方API.
SSPI:是从SPNEGO向SPN服务发送请求的中性层.
我完全失去了吗?
试图弄清楚它是如何工作的但是信息太精确或不够.
谢谢
好的答案更详细: -
SPN - 服务主体名称.它是与KDC实施(AD,OpenLDAP等)中的每个帐户关联的标识符.基本上,如果您的帐户充当客户端进行身份验证的服务,则客户端必须指定它要与之通信的"谁".这个"谁"标识符是SPN.这是严格的定义.许多人经常将服务的客户端名称(UPN - 用户主体名称)称为SPN.当服务本身可以充当客户端(谷歌授权方案)时会发生这种情况.这不是严格正确的,但广泛认为是正确的.
Kerberos是一种用于身份验证的协议.它是框架的名称.它涉及第三方服务器(称为KDC或密钥分发中心),并涉及获取票证(身份验证令牌)的一系列步骤.这真的很复杂,所以 http://en.wikipedia.org/wiki/Kerberos_(protocol)
在某种程度上,你做对了.GSSAPI是一个API,但SPNEGO不是.GSSAPI在技术上与您使用的身份验证机制无关,但大多数人都将其用于kerberos身份验证.SPNEGO是一种伪机制,在某种意义上它声明了一个RFC,用于在HTTP域中进行基于身份验证的通信.严格来说,SPNEGO是一个规范,但大多数人也认为它是一个实现.例如,Sun和IBM JDK为SPNEGO令牌生成提供了"机制提供程序",但GSSAPI用于实际调用它.这是在许多项目中完成的(作为服务器的Tomcat是我的头脑中的一个例子,其中一个回答这个问题的人开发了它).
SSPI与Windows中的GSSAPI类似.它是一个不同的API,最终做了与GSSAPI非常相似的事情.