我有一个项目,其中嵌入了启用了 SPNEGO 的 jetty。我希望能够在本地运行此项目以用于开发目的(启用 SPNEGO!)
我的问题是,SPN 和 key 表是否与特定服务器关联,或者我可以在服务的多个实例上使用相同的设置吗?
最佳答案
Kerberos 要求客户端和服务器都以某种方式确定要使用的服务主体,而无需事先进行任何联系。如果您同时控制客户端和服务器,则可以使用任何您想要的主体,前提是将双方配置为 使用相同的原理。
在 SPNEGO
情况下,客户端执行“标准”操作并根据服务器的主机名构建主体。 (即我想与 www.foo.com
交谈,我会尝试
请求 HTTP/www.foo.com
服务票证并查看服务器是否接受它。 )
我不知道有什么方法可以让浏览器中的 SPNEGO
代码使用固定的服务主体。因此,在这种情况下,每个服务器都需要一个单独的 key 表。
关于Kerberos - SPN 和 key 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22990421/