【问题标题】:How to point Apache Shiro to multiple dynamically generated LDAP servers?如何将 Apache Shiro 指向多个动态生成的 LDAP 服务器?
【发布时间】:2018-03-05 14:30:27
【问题描述】:

我使用这种方法查找 LDAP 服务器。该列表包含大约 30 个 LDAP 服务器。在我的 Tomcat 应用程序中,我需要授权 users 。我找不到任何有关如何使用 Shiro 执行此操作的文档。我知道如何指向一个LDAP。但是我怎样才能指向多个LDAP 服务器呢?这些LDAP 服务器中的任何一个都可能随时关闭。他们中的大多数人通常都在上涨。另外,如何定期刷新LDAP 列表?我对 LDAP 没有任何控制权。所以我需要将 Shiro 指向下面的方法返回的内容

    public List<String> getLdapServers (final String dnsServQuery)
    {
        final List<String> serverList = new ArrayList<>();
        try {
            final DirContext dnsContext = new InitialDirContext(env);
            final String dnsQueryType[] = { "SRV" };

           . . . blah blah 

        return serverList;
    }

【问题讨论】:

    标签: tomcat ldap shiro


    【解决方案1】:

    有几种方法可以做到这一点。 1.)您可以在加载 Shiro 之前生成一个shiro.ini(简单,但不完全是一个强大的解决方案) 2.)您可以创建一个新领域(扩展 LDAP 领域)并以这种方式处理您的初始化。 3.) 实现LdapContextFactory 并以这种方式管理连接。

    我推荐#3

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-05
      • 2013-12-12
      • 1970-01-01
      • 2011-02-09
      • 2023-03-21
      • 1970-01-01
      • 2018-03-20
      • 2019-04-07
      相关资源
      最近更新 更多