gpt4 book ai didi

java - 当我通过 Swing 执行 get LDAPConnection 时,它挂起

转载 作者:太空宇宙 更新时间:2023-11-04 08:58:51 27 4
gpt4 key购买 nike

当我通过 Main 方法运行以下代码时,它工作正常,但是当我尝试通过单击 swing 按钮执行它时,它会挂起。

请帮忙

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

最佳答案

它真的挂了,还是只是需要很长时间才能回来?

在 Swing 事件处理程序中进行大量处理并不是一个好主意,因为 Swing 需要响应用户。您应该将长时间运行的操作委托(delegate)给另一个线程。

关于java - 当我通过 Swing 执行 get LDAPConnection 时,它挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1425618/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com