tomcat - 如何将 Apache Shiro 指向多个动态生成的 LDAP 服务器?

标签 tomcat ldap shiro

我使用这种方法查找 LDAP 服务器。该列表包含大约 30 个 LDAP 服务器。在我的 Tomcat 应用程序中,我需要授权用户。我找不到任何关于如何使用 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;
    }

最佳答案

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

我推荐 #3

关于tomcat - 如何将 Apache Shiro 指向多个动态生成的 LDAP 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46391337/

相关文章:

java - 为什么在配置 c3p0 后出现内存泄漏异常?

python - 使用 TLS 的 Django LDAP3 安全性 : am I secure?

mysql - Tomcat 只卡住一个应用程序

java - 使用 Apache Tomcat for JRE 7u45 部署的 WAR 中未签名的小程序

sql - 模拟 Active Directory 以进行异地开发

asp.net-mvc-4 - 在 MVC4 中使用时 AUTH_USER 返回空白

java - 如何使用带有 LDAP 身份验证的 Apache Shiro 添加角色授权

grails - 无法解析类 org.apache.shiro.grails.ConfigUtils

grails - GORM createCriteria 和 list 不返回相同的结果 : what can I do?

java - 写JSP代码在tomcat服务器上运行时,没有任何显示