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 1875 게시물 읽기
No. 1875
인증 부분에 대한 질문입니다
작성자
최회숙
작성일
2003-07-29 17:46
조회수
6,032

저희가 jsp, servlet으로 인증 처리를 하려고 하는데요

 

ldap 안에 password를 가져와서 값을 비교 하려고 하는데

 

이 부분에서 password가 암호화 되 있던데

 

이거 어떻게 처리 해야 되나요???

 

혹시 이거에 관한 자료 갖고 있으면 답변 부탁드립니다.

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

암호는 해슁과 인코딩을 거쳐 저장되기 때문에 값을 가져와 비교하면 안됩니다.

ㅓjava API 내에 compare 혹은 authenticate를 이용하십시요.

jack님이 2003-07-30 12:43에 작성한 댓글입니다.

jack님 답변 고맙습니다

 

근데 java api에 compare 또는 authenticate라는거 없던데요...

 

jdk 1.4 api에 있는건가요??

 

혹시 인증 관련해서 자바로 구현한거 있으면 리플 달아 주세욥~

최회숙님이 2003-07-30 16:46에 작성한 댓글입니다.

음... Sun ONE Directory SDK for Java 4.1 (http://wwws.sun.com/software/download/app_dev.html#sdks)

또는 JNDI를 참조하시면 됩니다.

다음은 Sun ONE Directory SDK for Java 4.1 를 기준으로 작성한 예제입니다.

제품에 따라 userpassword 가 compare 되는경우가있고 되지않는 경우가 있군요

Syntegra의 Aphelion 은 검증되는데 Sun의 iplanet은 안되는군요..

 

import netscape.ldap.*;

import java.util.*;

import java.io.*;

 

public class Compare {

public static void main( String[] args )throws Exception

{

String line=null;

LDAPConnection ld = null;

int len = 0;

int num=0;

int num2=0;

int k=0;

 

String ENTRYDN = "ou=testuser, o=netmarble.net";

String MGR_DN = "cn=directory manager";

String MGR_PW = "dirmanager";

String MY_HOST = "192.168.1.150";

int MY_PORT = 489;

try {

ld = new LDAPConnection();

/* Connect to server */

ld.connect( MY_HOST, MY_PORT );

 

/* Authenticate to the server as directory manager */

ld.authenticate( MGR_DN, MGR_PW );

 

/* compare the value against the userpassword attribute */

LDAPAttribute attr = new LDAPAttribute( "userpassword","1234");

boolean ok = ld.compare( ENTRYDN, attr );

System.out.println( "Compare Result : " +ok );

}

catch( LDAPException e ) {

// e.printStackTrace();

if ( e.getLDAPResultCode() == 32 ){

System.out.println(ENTRYDN+" :사용자 없음 \n");

 

}

else if ( e.getLDAPResultCode() == 5 ){

 

System.out.println( "Error: 암호틀림" );

 

}

 

else if ( e.getLDAPResultCode() == 49 ){

 

System.out.println( "Error: 관리자 BInd 못함" );

 

}

else {

System.out.println(ENTRYDN+" : 확인 않됨\n");

 

}

 

}

 

if ( (ld != null) && ld.isConnected() ) {

try {

ld.disconnect();

} catch ( LDAPException e ) {

e.printStackTrace();

}

}

System.exit(-1);

}

 

}

jack님이 2003-07-30 18:23에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
1878LDAP과 VPN 연동 시 Duplication Error 발생 [1]
초보
2003-07-30
5436
1877Cyrus's SASL 설치시 에러..
한유수
2003-07-30
5726
1876OpenLDAP으로 한글 값을 입력하고 싶습니다. [2]
신재훈
2003-07-30
6867
1875인증 부분에 대한 질문입니다 [3]
최회숙
2003-07-29
6032
1874스키마 정의하려고 하는데요.... [1]
이상준
2003-07-29
5327
1873고수님들 봐주세요...DB에 관한... [5]
이상준
2003-07-28
5771
1872음...초보의 잘문을 봐주세용..ㅡ_ㅡ [1]
좌대훈
2003-07-25
5113
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다