使用kerberos身份验证汇集的LDAP连接

时间:2016-11-15 14:29:57

标签: java caching ldap kerberos pooling

我想解决的问题是,当使用kerberos与LDAP连接时,我们每次都会请求新的TGT和会话密钥。这会给KDC和网络带来不必要的负担。

我们要么使用LDAP连接池但要使用CUSTOM身份验证,要么只是重用TGT

请协助。

谢谢

1 个答案:

答案 0 :(得分:0)

有几种方法:

  1. 如果您不打算连接池,请使用LoginContext获取TGT Subject,将TGT保留在内存中,只要它有效并用获取/包裹它发布实施。只要您Subjectnew InitialDirContext()电话打包在PriviledgedAction Subject#doAs()
  2. 使用池(这是我在Spring中所做的):调整Commons Pool 2解决方案implemented by Spring LDAP。虽然,Spring的ContextSource不支持SASL GSSAPI机制。幸运的是,你可以use my library为此。
  3. 无论哪种方式,我都使用这两种方法。第一种方法适用于自定义验证器/领域,并且在这里非常快。我想知道为什么你的实施是如此缓慢 - 无论对你来说有什么缓慢的意义。