Main 메서드를 통해 다음 코드를 실행할 때 제대로 작동하지만 스윙 단추를 클릭 할 때 실행하려고하면 응답하지 않는다.스윙을 통해 LDAPConnection을 가져올 때 응답하지 않는다.
import java.util.Hashtable;
import javax.naming.AuthenticationException;
import javax.naming.Context;
import javax.naming.NamingException;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
public class SimpleLdapAuthentication {
public static void main(String[] args) {
String username = "user";
String password = "password";
String base = "ou=People,dc=objects,dc=com,dc=au";
String dn = "uid=" + username + "," + base;
String ldapURL = "ldap://ldap.example.com:389";
// Setup environment for authenticating
Hashtable<String, String> environment = new Hashtable<String, String>();
environment.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
environment.put(Context.PROVIDER_URL, ldapURL);
environment.put(Context.SECURITY_AUTHENTICATION, "simple");
environment.put(Context.SECURITY_PRINCIPAL, dn);
environment.put(Context.SECURITY_CREDENTIALS, password);
try {
DirContext authContext =
new InitialDirContext(environment);
// user is authenticated
} catch (AuthenticationException ex) {
// Authentication failed
} catch (NamingException ex) {
ex.printStackTrace();
}
}
}
이미 스레드를 사용하여 LDAP 작업을 수행하고 있습니다. 다른 아이디어있어? –
아니요. 코드가 작동하지 않는 코드를 게시해야한다고 생각합니다. –
코드는 다음과 같습니다. 나는 위의 main 메소드 코드를 SimpleLdapAuthentication 클래스의 getT() 메소드에 넣었다. 개인 무효 jButton1MouseClicked (java.awt.event.MouseEvent의의 EVT) { // TODO가 여기에 처리 코드를 추가 SimpleLdapAuthentication의 SLA = 새로운 SimpleLdapAuthentication을(); sla.getT(); } –