我用下面的代码从一个独立的Java应用程序验证用户身份的性能:LDAPS绑定从Java
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.directory.InitialDirContext;
public class Authenticate
{
public static void main(String[] args)
{
try
{
Hashtable<String, String> env = new Hashtable<String, String>();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "LDAPS://my_ldap_server:636");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL,
"[email protected],CN=myCustomers,CN=PartX,DC=testCom,DC=local");
env.put(Context.SECURITY_CREDENTIALS, "user_password");
env.put(Context.SECURITY_PROTOCOL, "ssl");
for (int i = 0; i < 50; i++)
{
long start = System.currentTimeMillis();
new InitialDirContext(env);
// send request, wait for response
long end = System.currentTimeMillis();
System.out.println("Round trip response time = "
+ (end - start) + " millis");
}
System.out.println("Welcome");
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
我得到每绑定接近200毫秒,这是非常高的响应时间。我的问题是别人在从java执行LDAP绑定时看到的响应时间。
必须有其他方法将用户与LDAP绑定。请分享你的方法。我有一个绑定操作的.NET实现,它在大约20毫秒时执行。任何的意见都将会有帮助。
在此先感谢。
您好专家。请输入其他任何内容?特别是针对其他绑定用户的java实现看到的响应时间。 – Aspirant 2014-10-28 17:49:23