配置 eXist - LDAP 安全管理器

发布于 2024-11-06 08:42:48 字数 433 浏览 0 评论 0原文

我正在尝试将 eXist 配置为 LDAP 以对用户进行身份验证,并且我已查看 处的文档eXist LDAP 安全。结果默认配置仅支持三种设置: security.ldap.connection.url(LDAP 服务器的连接 URL)、security.ldap.dn.user(用户列表 DN)和 security .ldap.dn.group(组列表 DN)。

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

除了在 LDAP 服务器上启用匿名查询之外,还有什么关于如何实现此目的的建议吗?

谢谢, 托马斯

I am trying to configure eXist to LDAP to authenticate users and I have checked out the documentation at eXist LDAP Security. Turns out the default configuration only supports three settings:
security.ldap.connection.url (The connection URL of the LDAP server), security.ldap.dn.user(The user list DN), and security.ldap.dn.group (The group list DN).

It doesn't work for my case because the LDAP server does not enable anonymous queries, which means I have to provide the user name/password in order to establish the connection.

Any suggestion on how I could achieve this other than enable anonymous queries on the LDAP server?

Thanks,
Thomas

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

余生再见 2024-11-13 08:42:48

似乎您可以实现自己的上下文工厂并使用 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

It seems like you can implement your own context factory and feed it to exist with the security.ldap.contextFactory parameter.

The context factory is the java class used to initialize a connection to the directory. You can implement a context factory that initializes the connection with the ad-hoc credentials.

The idea is to implement a class like this:

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);

  }
}

You generate a jar file, add it in the classpath of your server, and specify the configuration parameter:

security.ldap.contextFactory = your.java.package.name.MyCustomContextFactory
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文