似乎您可以实现自己的上下文工厂并将其与security.ldap.contextFactory参数一起提供。
上下文工厂是用于初始化与目录的连接的 java 类。您可以实现一个上下文工厂,该工厂使用临时凭据初始化连接。
这个想法是实现一个这样的类:
public class MyCustomContextFactory implements InitialContextFactory {
public Context getInitialContext(Hashtable env) {
// Fetch the application DN and password somehow (config file...)
String applicationDN = ...;
String password = ...;
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, applicationDN);
env.put(Context.SECURITY_CREDENTIALS, password);
return new InitialDirContext(env);
}
}
您生成一个 jar 文件,将其添加到服务器的类路径中,并指定配置参数:
security.ldap.contextFactory = your.java.package.name.MyCustomContextFactory