Java 응용 프로그램에서 제공된 사용자 이름과 암호가 올바른지 LDAP 서버에 문의하고 싶습니다. 올바른 ldapUrl
을 전달하여 내가 checkCredentials
전화로인증 오류 49 java 응용 프로그램의 jndi가 포함 된 52e (유효하지 않은 토큰)
public static String checkCredentials(String securityPrincipal,
String password,
String ldapUrl,
String securityAuthentication)
{
String userVerify = "";
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, ldapUrl);
env.put(Context.SECURITY_AUTHENTICATION, securityAuthentication);
env.put(Context.SECURITY_PRINCIPAL, securityPrincipal);
env.put(Context.SECURITY_CREDENTIALS, password);
try {
DirContext authContext = new InitialDirContext(env);
userVerify = testDescription + " - Success";
authContext.close();
} catch (AuthenticationException authEx) {
userVerify = "AuthenticationException: " + authEx.getMessage();//"Authentication failed!";
} catch (NamingException namEx) {
userVerify = "NamingException: " + namEx.getMessage();//"Something went wrong!";
}
return userVerify;
}
(점에서 :
나는 (그것이 내가 예외 메시지를 반환 LDAP를 탐험하기 위해 사용하고 테스트 함수)이 기능으로 JNDI를 사용하여 종료 LdapErr : DSID-0C0903A8, 코멘트 : AcceptSe -있는 AuthenticationException : : : [LDAP 80090308 오류 코드 49 내 경우에는 내가 항상 (함수가
String
)를 반환 결과로 얻을)ldap://192.168.48.60:389
있어 curityContext 오류, 데이터 52E, v1db1]
이 page은 인증 오류 (49)와 "사용자 이름이 유효하지만 암호/인증 정보가 잘못"(52E) 인 것을 말한다.
내가securityPrincipal
이러한 모든 시도 :
을 존
존 @ mycompany
CN = 존 코네티컷
CN = 존, OU = 내부 사용자, DC = 회사 명
password
과 secuirityAuthentication
은 무시됩니다.
나는 http://www.ldapadmin.org/에서 LDAP 관리자를 설치하려고하고 또한 그것에서 내가 얻을 :
LDAP 오류를! 유효하지 않은 자격증 명 : 80090308 : LdapErr : DSID-0C0903A8, 설명 : AcceptSecurityContext 오류, 데이터 52e, v1db1.
유효하지 않은 토큰이 함수에 전달되었습니다.
어쨌든 이것은 "무효화 된 토큰"을 알려줍니다.
모든 포인터? 나는 붙어있다.