簡體   English   中英

匿名綁定使用UnboundID LDAP sdk

[英]Anonymous Bind using UnboundID LDAP sdk

我有一個JAVA應用程序,它使用UnboundID LDAP SDK連接和驗證LDAP本地服務器。
該服務器是帶有Active Directory的Windows Server 2008 R2,並且配置為不允許匿名身份驗證。
但是如果我嘗試使用我的應用程序執行匿名綁定,那么BindResult就會成功。 我正在使用像JAVADOC這樣的SimpleBindRequest ()方法進行連接。 這是我的代碼:

 public boolean autenticarAnonimamente() throws AutenticacaoExcecao
 {       
    GerenciadorConexaoLdap gerenciadorLdap = new GerenciadorConexaoLdap();
    LDAPConnection connection;
    try {
        connection = gerenciadorLdap.conectarServidorLdap(ldap);
        SimpleBindRequest request = new SimpleBindRequest();

        BindResult result = connection.bind(request);
        boolean retorno = result.getResultCode().equals(ResultCode.SUCCESS);
        connection.close();
        return retorno;
    } catch (LDAPException | GeneralSecurityException ex) {
        throw new AutenticacaoExcecao(ex);            
    }   
}

我嘗試使用Google Apps Directory Sync測試我的服務器,它拒絕任何匿名綁定。 如果我將我的服務器配置為允許匿名連接,則Google應用程序結果正常。
誰知道什么可以?

目前尚不清楚區別是什么,但絕對是調用connection.bind(new SimpleBindRequest())將向服務器發送匿名簡單綁定請求並使客戶端從服務器讀回響應的情況。

幾乎可以肯定的是,Google Apps Directory Sync正在發送不同的綁定請求(可能是SASL ANONYMOUS綁定請求,或者可能是具有非空DN但空密碼的請求),或者您失敗了重新看到Google Apps Directory Sync實際上並不是綁定失敗,而是綁定后嘗試執行的操作。

我建議您嘗試檢查客戶端和服務器之間的流量,以查看Google客戶端嘗試執行的操作。 隨UnboundID LDAP SDK提供的ldap-debugger工具可用於實現此目的。 它充當一個非常簡單的LDAP代理,它將顯示有關通過它的任何流量的詳細信息。 您還可以使用任何類型的網絡數據包捕獲機制(如snoop,tcpdump或Wireshark)來捕獲網絡通信以進行分析。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM