猿问

如何配置 ldaptive 以使用连接池 (jaas)

我们有一个使用 ldap 来验证用户身份的应用程序。我们使用https://www.ldaptive.org/作为 ldap 客户端,并通过 jaas 登录配置文件对其进行配置。


这是我们的 jaas 登录配置文件的示例:


ourApplication {

  org.ldaptive.jaas.LdapLoginModule required

    storePass="true"

    ldapUrl="ldap://ldapserver:10389"

    baseDn="ou=People,dc=example,dc=com"

    useStartTLS="false"

    bindDn="uid=admin,ou=People,dc=example,dc=com"

    bindCredential="password"

    userFilter="(uid={user})";

  org.ldaptive.jaas.LdapRoleAuthorizationModule required

    useFirstPass="true"

    ldapUrl="ldap://ldapserver:10389"

    baseDn="ou=Roles,dc=example,dc=com"

    roleFilter="(member={dn})"

    roleAttribute="cn";

};

这已经足够好了。随着时间的推移,我们开始出现错误,类似于此处描述的内容:


https://confluence.atlassian.com/confkb/ldap-queries-fail-with-address-already-in-use-error-222201829.html


我们遇到类似的通信和绑定错误。


上面的链接建议运行


netstat -na

在我们的应用程序服务器上运行命令来查看是否有大量与 LDAP 服务器的打开连接。当我这样做时,我看到数百行如下所示:


TCP    129.135.249.138:65525  129.135.28.18:10389    ESTABLISHED

其中左侧地址是我们的服务器:端口,右侧是 ldap 服务器:端口。最终,左侧的端口变为 65535,这可能是导致无法进行身份验证的原因:所有端口都被占用,因此无法通信。


上面的 atlassian 链接指向 ldaptive jaas 配置页面,了解如何为 ldaptive 配置连接池的示例:


https://www.ldaptive.org/docs/guide/jaas.html


慕姐4208626
浏览 129回答 0
0回答
随时随地看视频慕课网APP

相关分类

Java
我要回答