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 3183 게시물 읽기
No. 3183
LDAP 유저 인증 관련 좀 더 명확하게 다시 질문 드리겠습니다...
작성자
java개발자
작성일
2011-09-14 16:40:47
조회수
4,802

 고객사 말로는

 

연결용 계정이 따로 있다고 합니다..

그 계정으로 연결을 한후에

LDAP의 다른 계정들을 ID, PASS 입력 받은 것을 가지고 비교해야 한다고 하네요

제가 라이브러리를 직접 쓰는게 아니라서

우선 LDAP 찾기 직전에 로그인 했다고 가정하고...

 

ID : idid

pass: abcd

 

위와 같은 사용자를 찾아낼려면

userPassword 라는 Attribute, uid 라는 Attribute로 찾아내는 것이 맞는지요??

 

그리고 패스워드는 암호화 되어 있을 텐데

기본 JNDI 를 가지고 해당 어트리뷰트를 찾는 방법이

OU=ou1(가정),OU=ou2(가정),dc=dc1(가정),dc=dc2(가정),uid=idid,userPassword=암호화된abcd

 

가 맞는지요???

정확히 DN을 어떻게 해야할지 모르겠습니다...

아니면 필터를 이용해서 찾아야 하는건지...

답변 좀 부탁드립니다...

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

그리고 JNDI를 사용했을때

암호화된 패스워드를 비교하는 방법도 좀 알고 싶습니다...

(서버상의)패스워드가 뭔지는 궁금하지 않습니다

암호화된 패스워드를 가지고 서버에 리퀘스트를 날려서 맞는지만 확인하면 됩니다....

진짜 급한데 꼭좀 답변 부탁드립니다 ㅠ_ㅠ

java개발자님이 2011-09-14 16:42:16에 작성한 댓글입니다.
이 댓글은 2011-09-14 16:42:36에 마지막으로 수정되었습니다. Edit

고객사가 어딘지 모르겠는데 잘 모르시는거 같네요.

연결용 계정이 있다고 하더라고 인증은 주어진 ID와 패스워드로 해야합니다.

인증방법을 간단히 설명하지요. 패스워드를 일일히 암호할 필요는 없습니다.

1. 연결용 계정으로 접속하여 주어진 계정을 이용하여 검색하여 DN을 알아냅니다.

2. 알아낸 DN값과 평문 패스워드를 가지고  AD에 BIND를 실행합니다.  리턴값이 true면 인증성공

    에러가 49가 난다면 패스워드가 틀린거거요.

이렇게 하면 끝입니다.  (SSL 연결하려면 인증서 등록하는 부분이 필요하겠죠)

 

광고---------------------------------------------------------------------------

LDAP전문회사 서진디에스에이 (클라우드용 LDAP설계 전문)

www.seojindsa.kr

 

송상준(sjsong)님이 2011-09-15 00:02:34에 작성한 댓글입니다.
이 댓글은 2011-09-15 00:03:22에 마지막으로 수정되었습니다.

 답변 감사합니다.

그러면 바인딩할때

attribute들은 뭘로 해야할까요???

조금만 더 상세한 답변 부탁드립니다...

도저히 찾아봐도

SECURITY Authentication 만 나오고

LDAP User Password 비교하는건 안 나오네요....

이번주에 회사 그만둬야해서 빨리 처리해야 하는데 늦어지고 있습니다...

java개발자님이 2011-09-15 10:22:25에 작성한 댓글입니다. Edit

BIND 함수를 사용하면 됩니다.

뭐 어트리뷰트는 뭘 쓰는지 몰라도 됩니다. AD가 알아서 해줍니다.

송상준(sjsong)님이 2011-09-15 16:40:57에 작성한 댓글입니다.

 안녕하세요. 송상준님

먼저 java개발자님의 질문에 염치 불구하고 불쑥 질문을 드려서 죄송합니다.

저는 현재 암호화된 사용자 패스워드까지는 가져왔는데..   

bind 하면 된다는 말씀이 어떤건지요. 혹시 시간이되신다면 간단한 예제 코드 부탁드려도 될른지요?

 

그럼 좋은 하루 되세요.

 

류동성(sky4383)님이 2011-09-20 12:22:40에 작성한 댓글입니다.

autheticate 라는 함수가 있습니다.

입려된 계정의  full dn과 입력된 암호를 인자로 함수 호출하면 암호를 LDAP에서 비교하여

결과를 알려줍니다. 암호가 틀린지 암호가 맞는지(맞는 경우 함수는 그냥 종료) 비교할 암호가 없는지 를

알수있습니다.

java API 나 C API 문서중 ldap connection 부분의 문서를 참조하시면 자세히 설명되어 있습니다.

~~님이 2011-09-21 12:53:51에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
3197Java로 Active Directory(Windows 2008)를 컨트롤 하는 방법 ??
배철
2011-10-31
3050
3186AIX에서 ldap server / C# client 구현 [1]
디렉토리
2011-10-05
3488
3184LDAP 한글 관련 질문 드립니다. [3]
윤진하
2011-09-19
4658
3183LDAP 유저 인증 관련 좀 더 명확하게 다시 질문 드리겠습니다... [6]
java개발자
2011-09-14
4802
3182Java로 Active Directory를 이용한 AD 인증을 구현하려고 합니다... [4]
java개발자
2011-09-11
7425
3181LDAP ou 이동 관련.. [2]
한광식
2011-08-27
3533
3180LDAP LOG 파일 관리 [1]
Faust
2011-07-07
3524
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2019 DSN, All rights reserved.
작업시간: 0.075초, 이곳 서비스는
	PostgreSQL v11.5로 자료를 관리합니다