2017-12-12 31 views
0

単純なapache LDAP認証の例を私に提供できますか?私のサンプルコードスニペットは次のとおりです。apacheを使用したjavaでのLDAP認証LDAP

@Bean 

CommandLineRunner runner() { 
    return args -> { 

     LOGGER.info("CommandLineRunner running in the UnsplashApplication class..."); 

     LdapConnection connection = new LdapNetworkConnection(
       "ldap://server.TEST.COM:389/DC=TEST,DC=COM", 389, false); 
     connection.setTimeOut(0); 
     LOGGER.info("@@ Trying to connect to LDAP..."); 

     connection.bind(); 
     connection.connect(); 
     LOGGER.info("@@ isConnected: " + connection.isConnected()); 

     // connection.bind("uid=user,ou=users", "[email protected]"); 
     // connection.bind("ou=users,DC=TEST,DC=COM", "[email protected]"); 

    }; 
} 
+0

上記のコードではかなり良い手掛かり。以下はエラーログです。 – Naresh

+0

原因:org.apache.directory.ldap.client.api.exception.InvalidConnectionException:サーバーに接続できません:Hostname 'ldap://TEST.COM:389/DC = TEST、DC = COM'を解決できませんでした。 java.nio.channels.UnresolvedAddressException: \tで \t ... 6共通のフレームはによって引き起こさ を省略ヌル sun.nio.ch.Net.checkAddress(不明なソース)で\t〜[NA:1.8.0_60] \t at sun.nio.ch.SocketChannelImpl.connect(不明なソース)〜[na:1.8.0_60] org.apache.directory.ldap.client.api.LdapNetworkConnection.connect(LdapNetworkConnection.java:663)〜[api- all-1.0.0.jar:1.0.0] \t ... 11個の共通フレームが省略されています – Naresh

+0

マシンからポート389にアクセスできることを確認してください。 telnetはあなたの友人です。 – uday

答えて

0
LdapConnection connection = new LdapNetworkConnection(
      "ldap://server.TEST.COM:389/DC=TEST,DC=COM", 389, false); 

LdapNetworkConnection(String, int, boolean)の最初の引数は、サーバ名、ないURLです。

エラーがスローされますsnipet

Hostname 'ldap://TEST.COM:389/DC=TEST,DC=COM' could not be resolved