現在、LDAPへの接続資格情報としてユーザーとパスワードを使用しています(ADのユーザーを認証するため)。
ここでの認証では、InitialDirContext を使用して (Active Directory 用の) 初期コンテキストを作成しました。ここで、認証情報を含む一連の環境プロパティを指定します。
私のコードは次のようになります:
env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, ...);
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, ...);
env.put(Context.SECURITY_CREDENTIALS, ...);
env.put("com.sun.jndi.ldap.connect.timeout", ...);
try {
ctx = new InitialLdapContext(env);
}
catch (NamingException e) {
System.out.println("error")
}
このコードを変更して、NTLM を使用して LDAP に対して資格情報として入力されたユーザー名とパスワードを認証するようにします。
例を教えてください。
NTLM - 認証 - 整合性 - 機密性を提供する Microsoft セキュリティ プロトコルのスイートです。