1

我有一个捕获 22。

我正在实现一个服务客户端,其职责是在 LDAP 服务器上对用户进行身份验证。客户端接受用户 ID 和密码,确定 userDn,并调用对 LDAP 服务器的请求。

我的问题是目前设置 spring ldap 模板的方式。LdapTemplate需要一个ContextSourceat bean 创建时间。在创建时将其ContextSource配置为某个值(ldapurl、userdn、密码)。但我意识到我的ContextSource意志会随着每个用户而改变。每个用户都会根据用户的 DN 打开一个连接。因此,我的上下文源因每个用户而异,因此ContextSource在创建 bean 时(容器启动)创建一个不是正确的位置。而且,无法通过AFAIK覆盖ContextSource(使用用户名/密码) 。LdapTemplate

那么,在我的代码中显式创建一个 Ldap 对象是否是个好主意,方法是ContextSource使用实​​际的用户 ID 和密码(并且其 url 是所有用户的常量)显式初始化它并LdapTemplate使用 setter 方法更新我的 bean LdapTemplate?在我的客户调用之后,我将ContextSource通过将其设置为来处理null(模板比操作更有效,因为它是一个存在于 spring 容器中的 bean。所以它可以被重用,因此之前关于上下文的信息一定不可用。)

问题: 如上所述,这个问题还有其他解决方案吗?

4

0 回答 0