database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
ㆍLDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
LDAP Q&A 2124 게시물 읽기
No. 2124
active directory 서버에서 jndi로 인증받을려면?
작성자
박미나(mnpark1)
작성일
2004-11-29 12:39
조회수
9,374

active directory 서버를 사용하는데 사용자 : yunsol, 패스워드 :a12345 가 있는지 여부를 체크하려구 하는데 에러가 나타나서..

무엇이 문제인지 몰라서...

알려주세요

 

Hashtable env= new Hashtable(11);
env.put(Context.SECURITY_AUTHENTICATION,"simple");
env.put(Context.SECURITY_PRINCIPAL,"cn=yunsol,ou=화이트, dc=corp,dc=white,dc=com");//User
env.put(Context.SECURITY_CREDENTIALS, 'a12345');//Password
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL,"ldap://corp.doosan.com/ou=화이트, dc=corp,dc=white,dc=com");

try
{
DirContext ctx = new InitialDirContext(env);
// String[] sAttrIDs = new String[2];

// Attributes attr = ctx.getAttributes("");
// System.out.println("Domain Name:"+ attr.get("name").get());
System.out.println("success !!!!");
ctx.close();
}
catch(NamingException e)
{
System.err.println("Problem getting attribute: " + e);
}

이 글에 대한 댓글이 총 7건 있습니다.

 

기억이 가물 가물 한데 제가 1999년에 한거라 좀 기억이 없고 소스도 CD로 구워 놓았는데 찾기가 힘들어서 기억을 더듬에 봅니다.

 

env.put(Context.SECURITY_AUTHENTICATION,"simple");
env.put(Context.SECURITY_PRINCIPAL,"cn=yunsol,ou=화이트, dc=corp,dc=white,dc=com");//User
env.put(Context.SECURITY_CREDENTIALS, 'a12345');//Password
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL,"ldap://corp.doosan.com/ou=화이트, dc=corp,dc=white,dc=com");

이 부분에서 env.put(Context.PROVIDER_URL,"ldap://corp.doosan.com/ou=화이트, dc=corp,dc=white,dc=com");
이것을 다 썼으면

env.put(Context.SECURITY_PRINCIPAL,"cn=yunsol");

여기까지만 해도 되는 것으로 한거 같은데

한번 해보시고 안되시면 올려 주세요

예전 소스를 찾아보게 그럼

송상준(sjsong)님이 2004-11-29 15:25에 작성한 댓글입니다.

SECURITY_PRINCIPAL은 그냥 놔두시고 PROVIDER_URL만 다음과 같이 바꾸시면 될 거 같은데요..

env.put(Context.PROVIDER_URL, "ldap://corp.doosan.com/");

 

 

최정욱(drunkenpig)님이 2004-11-29 16:47에 작성한 댓글입니다.

테스트를 했는데 에러가..

Problem getting attribute: javax.naming.AuthenticationException: [LDAP: error code 49 - 80090308: LdapErr: DSID-0C09030F, comment: AcceptSecurityContext error,data 525, vece

박미나(mnpark1)님이 2004-11-29 20:26에 작성한 댓글입니다.

SECURITY_PRINCIPAL을 dn 말고 sAMAccountName으로 해보세요.

env.put(Context.SECURITY_PRINCIPAL,"yunsol@corp.white.com");

이런 식으로..

최정욱(drunkenpig)님이 2004-11-30 09:55에 작성한 댓글입니다.

그것이 아니라.. 아이디와 패스워드가 맞는 것인데 에러가 발생하니 답답하죠..어떻게 테스트를 해야할지...

박미나(mnpark1)님이 2004-12-02 14:42에 작성한 댓글입니다.

AD User Object Password Attribute에는 실제 패스워드 정보가 담겨있지 않습니다. 패스워드 정보가 해시 형태로 저장되어있습니다. 만약 원하시는 것을 하시기 위해서는 hash 값을 가지고 비교하시면 될것 같습니다.

김호범(trueccie)님이 2005-04-04 06:32에 작성한 댓글입니다.

답변을 많이 주셨네요.. 다른 분들이 모든 LDAP에 관심있는 분들께 감사합니다.

프로그램은 해결 되셨나요?

 

JNDI로 Password바꾸는것은 문제가 되지만 Bind는 쉽게 되는데...

음.....

한글 때문에 그런건지도 모르겠습니다. 한글을 주지 않고 다른 테스트 사용자를 만들어서 사용해 보시죠...

 

그럼 수고하세요.

송상준(sjsong)님이 2005-04-04 10:09에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
2127리눅스에서 sun one ldap 설치 실패 [3]
초보
2004-12-13
8646
2126LDAP에서 사용자 계정을 AD로 가지고 오는 방법 좀 알려주세요.. [4]
이호근
2004-12-01
9238
2125sunone directory 의 cache를 [1]
자유
2004-11-29
7964
2124active directory 서버에서 jndi로 인증받을려면? [7]
박미나
2004-11-29
9374
2123ldap_search_st: Sizelimit exceeded 에러를 어떻게... [7]
자유
2004-11-17
8538
2122sunone directory 설치의 마지막 단계에서 나는 에러 [2]
자유
2004-11-06
8678
2121sunone directory 에서 init 으로 하려면 [3]
자유
2004-11-03
8102
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.053초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다