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 697 게시물 읽기
No. 697
[초보질문]LDAP EntryADD 하는 소스인데 자꾸에러가.. 좀 봐주시면 감사하겠습니다.
작성자
신응섭
작성일
2001-06-15 12:02
조회수
7,263

안녕하세요.

제가 회사에서 LDAP과 JNDI를 이용한 Pilot중인데요,

이곳의 글들이 많은 도움이 됩니다. 정말 여러고수님들 감사드리구요.

LDAP서버에 Entry를 추가하는 서블릿을 짜던중 박근오님이 자료실에올리신 소스를 참고했습니다.감사드리구요.

컴파일시 에러는 안나나 try이하에서 에러익셉션으로 자꾸 빠지는 군요.

한참 고민해보고 이짓저짓다해봐도 잘모르겠어서 질문드립니다.

 

소스는 아래와 같은데, 무엇을 수정해야 할지..

테스트 환경은 Sun3500, Netscape Directory 4.5입니다.JDK1.3, JNDI1.2.1이구요.

__________________________________________________________________________-

import javax.naming.*;

import javax.naming.Context;

import javax.naming.directory.*;

import javax.naming.NamingException;

import java.util.*;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

import java.awt.*;

 

public class AddEntry extends HttpServlet {

 

public static String INITCTX = "com.sun.jndi.ldap.LdapCtxFactory";

public static String MY_HOST = "ldap://localhost:389";

public static String MGR_DN = "cn=admin,o=hit.com";

public static String MGR_PW = "aro1234";

public static String SEARCH_BASE = "uid=*,o=hit.com";

 

public void doPost(HttpServletRequest req, HttpServletResponse res)

throws ServletException, IOException {

String UID = req.getParameter("ID");

String NAME = req.getParameter("NAME");

String BUSEO = req.getParameter("buseo");

String GRADE = req.getParameter("grade");

String PASS = req.getParameter("PASS");

String PASS_CONF = req.getParameter("PASS_conf");

String EMAIL = req.getParameter("email");

String PHONE = req.getParameter("phone");

String FAX = req.getParameter("FAX");

String Dn = new String("uid="+UID+", ou=People");

 

PrintWriter out = res.getWriter();

 

res.setContentType("text/html; charset=ks_c_5601-1987");

//new PrintWriter(new OutputStreamWriter(res.getOutputStream(), "KSC5601"), true);

 

out.println("<HTML>");

out.println("<HEAD><TITLE>JNDI를 이용한 사용자 추가</TITLE></HEAD>");

 

out.println("<BODY>");

out.println("사용자 추가");

out.println("사번 : "+UID);

try{

Hashtable env = new Hashtable();

env.put(Context.INITIAL_CONTEXT_FACTORY, INITCTX);

env.put(Context.PROVIDER_URL, MY_HOST);

//env.put(Context.SECURITY_AUTHENTICATION, "simple");

env.put(Context.SECURITY_PRINCIPAL,MGR_DN);

env.put(Context.SECURITY_CREDENTIALS, MGR_PW);

 

DirContext ctx = new InitialDirContext(env);

Attributes attrs = new BasicAttributes(true);

Attribute objClass = new BasicAttribute("objectclass");

objClass.add("person");

Attribute UserID = new BasicAttribute("uid");

UserID.add(UID);

Attribute gradeName = new BasicAttribute("sn");

gradeName.add(GRADE);

Attribute commonName = new BasicAttribute("cn");

commonName.add(NAME);

Attribute BuseoName = new BasicAttribute("givenname");

BuseoName.add(BUSEO);

Attribute password = new BasicAttribute("userpassword");

password.add(PASS);

Attribute Phone = new BasicAttribute("telephonenumber");

Phone.add(PHONE);

Attribute Email = new BasicAttribute("mail");

Email.add(EMAIL);

Attribute fax = new BasicAttribute("facimiletelephonenumber");

fax.add(FAX);

 

attrs.put(objClass);

attrs.put(UserID);

attrs.put(gradeName);

attrs.put(commonName);

attrs.put(BuseoName);

attrs.put(password);

attrs.put(Phone);

attrs.put(Email);

attrs.put(fax);

 

Context result = ctx.createSubcontext(Dn, attrs);

out.println(attrs.get("cn").get()+" 님 등록 완료되었습니다. " );

out.println(attrs.toString());

 

out.println("부서 : " + attrs.get("givenname").get());

out.println(attrs.toString());

out.println("직위 : " + attrs.get("sn").get());

out.println(attrs.toString());

out.println("사번 : " + attrs.get("uid").get());

out.println(attrs.toString());

out.println("성명 : " + attrs.get("cn").get());

out.println(attrs.toString());

 

}catch (Exception ex) {

out.println("Add Operation Error !");

}

out.println("<p>");

out.println("</BODY></HTML>");

out.flush();

 

}

 

 

}

 

_______________________________________________________________________________부탁드립니다.

[Top]
No.
제목
작성자
작성일
조회
713JNDI로 바이너리 화일을 LDAP에 저장하는 방법??
허지환
2001-06-18
6733
722┕>Re: JNDI로 바이너리 화일을 LDAP에 저장하는 방법??
하만복
2001-06-20 11:14:19
7699
723┕>아..더 쉬운 방법이 있었군요 ^^;
하만복
2001-06-20 19:36:58
7655
726 ┕>성공했구여. 넘 고맙습니다.
허지환
2001-06-21 17:10:08
7585
712[제안] 한국인을 위한 objectClass 및 attributeType을 만드는건 어떨까요..
하만복
2001-06-18
6560
715┕>Re: 재미있겠군요. :-)
정재익
2001-06-18 19:56:00
7197
709LDAP 포럼 날짜 정해졌나요?
이윤원
2001-06-17
6986
697[초보질문]LDAP EntryADD 하는 소스인데 자꾸에러가.. 좀 봐주시면 감사하겠습니다.
신응섭
2001-06-15
7263
698┕>Re: [초보질문]LDAP EntryADD 하는 소스인데 자꾸에러가.. 좀 봐주시면 감사하겠습니다.
이윤원
2001-06-15 15:57:49
7557
700 ┕>Re: Re: 답변감사합니다.다시 해봐야죠..그리고 Pilot은 요..
신응섭
2001-06-15 16:41:08
7669
702┕>Re: [초보질문]LDAP EntryADD 하는 소스인데 자꾸에러가.. 좀 봐주시면 감사하겠습니다.
하만복
2001-06-15 17:29:05
7849
703┕>Re: [초보질문]LDAP EntryADD 하는 소스인데 자꾸에러가.. 좀 봐주시면 감사하겠습니다.
송상준
2001-06-15 21:57:48
7630
707┕>만드시려는 entry 가 person 이 확실하십니까?
하만복
2001-06-16 11:23:30
7911
710┕>Re: [초보질문]LDAP EntryADD 하는 소스인데 자꾸에러가.. 좀 봐주시면 감사하겠습니다.
권만희
2001-06-18 09:52:27
7728
711 ┕>inetOrgPerson 을 사용해도 되지만요..
하만복
2001-06-18 10:50:50
8076
696BackEnd DB에 대해서 .........
sshjs
2001-06-15
7231
699┕>Re: BackEnd DB에 대해서 .........
이윤원
2001-06-15 16:11:50
8189
695[질문]attribute type을 정의할 때 상속 문제?
이윤원
2001-06-14
7089
701┕>Re: [질문]attribute type을 정의할 때 상속 문제?
하만복
2001-06-15 17:10:02
7544
704┕>Re: [질문]attribute type을 정의할 때 상속 문제?
송상준
2001-06-15 22:12:51
7578
705 ┕>(답변 포함)Re: Re: [질문]attribute type을 정의할 때 상속 문제?
이윤원
2001-06-15 22:29:13
7783
708  ┕>그런 심오한...
하만복
2001-06-16 11:25:42
7362
692ldapadd에서 자꾸 에러가 나요?
초보
2001-06-14
6734
693┕>Re: ldapadd에서 자꾸 에러가 나요?
김경하
2001-06-14 17:10:13
7560
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다