配置存在-LDAP安全管理器

配置存在-LDAP安全管理器,ldap,exist-db,Ldap,Exist Db,我正在尝试将eXist配置为LDAP以对用户进行身份验证,我已在上签出了文档。默认配置只支持三种设置: security.ldap.connection.url(ldap服务器的连接url)、security.ldap.dn.user(用户列表dn)和security.ldap.dn.group(组列表dn) 它不适用于我的情况,因为LDAP服务器不支持匿名查询,这意味着我必须提供用户名/密码才能建立连接 除了在LDAP服务器上启用匿名查询之外,还有什么其他建议吗 谢谢, Thomas您似乎可以

我正在尝试将eXist配置为LDAP以对用户进行身份验证,我已在上签出了文档。默认配置只支持三种设置:
security.ldap.connection.url
(ldap服务器的连接url)、
security.ldap.dn.user
(用户列表dn)和
security.ldap.dn.group
(组列表dn)

它不适用于我的情况,因为LDAP服务器不支持匿名查询,这意味着我必须提供用户名/密码才能建立连接

除了在LDAP服务器上启用匿名查询之外,还有什么其他建议吗

谢谢,
Thomas

您似乎可以实现自己的上下文工厂,并使用security.ldap.contextFactory参数将其提供给它

上下文工厂是用于初始化目录连接的java类。您可以实现一个上下文工厂,用临时凭据初始化连接

我们的想法是实现这样一个类:

公共类MyCustomContextFactory实现InitialContextFactory{
公共上下文getInitialContext(哈希表env){
//以某种方式获取应用程序DN和密码(配置文件…)
字符串applicationDN=。。。;
字符串密码=。。。;
环境put(Context.SECURITY_认证,“simple”);
环境保护(Context.SECURITY_PRINCIPAL,applicationDN);
环境放置(Context.SECURITY\u凭证、密码);
返回新的InitialDirContext(env);
}
}
生成一个jar文件,将其添加到服务器的类路径中,并指定配置参数:

security.ldap.contextFactory = your.java.package.name.MyCustomContextFactory

看起来您可以实现自己的上下文工厂,并使用security.ldap.contextFactory参数将其提供给现有的上下文工厂

上下文工厂是用于初始化目录连接的java类。您可以实现一个上下文工厂,用临时凭据初始化连接

我们的想法是实现这样一个类:

公共类MyCustomContextFactory实现InitialContextFactory{
公共上下文getInitialContext(哈希表env){
//以某种方式获取应用程序DN和密码(配置文件…)
字符串applicationDN=。。。;
字符串密码=。。。;
环境put(Context.SECURITY_认证,“simple”);
环境保护(Context.SECURITY_PRINCIPAL,applicationDN);
环境放置(Context.SECURITY\u凭证、密码);
返回新的InitialDirContext(env);
}
}
生成一个jar文件,将其添加到服务器的类路径中,并指定配置参数:

security.ldap.contextFactory = your.java.package.name.MyCustomContextFactory