2017-09-24 60 views
0

我使用这种方法查找LDAP服务器。该列表包含大约30个LDAP服务器。在我的Tomcat应用程序中,我需要授权用户。我无法找到任何有关Shiro如何操作的文档。我知道如何指向一个LDAP。但是我怎样才能指向多个LDAP服务器?这些LDAP服务器中的任何一个都可能在任何时候关闭。他们大多数虽然通常起来。另外我如何定期刷新LDAP列表?我对LDAP没有任何控制权。所以我需要指出Shiro以下方法返回什么如何将Apache Shiro指向多个动态生成的LDAP服务器?

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

回答

1

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

我推荐#3

相关问题