如何使用Kerberos实现并行认证?



我需要在Spring Boot (Java)中并行地进行多个独立的微服务调用,以解决进行顺序调用时的性能问题,并且这些微服务使用Kerberos进行身份验证。

当我最初尝试以并行方式进行这些调用时,我明白Kerberos票据和令牌在启动并行请求时将失效,因为之前的票据将不再有效,但我想听听其他专家的意见,如果有其他方法可以实现这一点。

也许您可以在Kerberos的服务器端缓存票证和令牌。

当我最初尝试将这些调用作为并行调用时,我明白Kerberos票据和令牌在启动并行请求时将失效,因为之前的票据将不再有效,但我想听听其他专家的意见,如果有其他方法可以实现这一点。

不,是多用途的,永远不会失效(直到它达到~10h到期)-你可以在klist中看到,相同的票在多次运行中保持不变。只有基于票证+验证器构建的令牌是一次性使用的,但应用程序可以根据需要从单个缓存票证自由创建任意多的令牌。

当使用HTTP时,通常你(或HTTP客户端库)会调用GSSAPI或Kerberos库来启动一个新的"安全上下文"。并在每个HTTP请求之前立即获得一个新令牌。启动多个GSSAPI上下文并并行获取多个令牌是可以的;GSSAPI/Kerberos库将负责获取和缓存服务票证。

最新更新