LDAP连接与kerberos身份验证池

问题描述:

我试图解决的问题是,当使用Kerberos与LDAP连接时,我们每次都要求新的TGT和会话密钥。这给KDC和网络带来了不必要的负担。LDAP连接与kerberos身份验证池

我们想要使用LDAP连接池,但有自定义身份验证或以某种方式只是重用TGT

请协助。

谢谢

有几种方法,以这样的:

  1. 如果你不打算池连接,使用LoginContext获得Subject与TGT,认为TGT在内存中为只要它是有效的并且包含获取/发布实现。只要您的Subject包裹new InitialDirContext()呼叫PriviledgedActionSubject#doAs()
  2. 使用池(这是我在春季所做的):修改Commons Pool 2解决方案​​。虽然,Spring的ContextSource不支持SASL GSSAPI机制。幸运的是,你可以为use my library

无论哪种方式,我使用这两种方法。第一种方法适用于自定义的身份验证器/领域,在这里速度非常快。我想知道为什么你的实现如此之慢 - 无论对你来说速度如何缓慢。

+0

谢谢迈克尔 1)你会建议重用只是TGT的Kerberos票的主体本身? 2)任何推荐的缓存? 3)是否有一种优雅的方式来验证基于TGT的结束日期? 4)你知道华夫饼吗? [链接](https://waffle.codeplex.com) –

+0

@YoavS 1)仅限主题; 2)我写的Commons Pool 2; 3)不是从我的脑海到达,而仅仅是获得一张服务票,尽管这样做很便宜; 4)是的,他们真的很好吃。 –