JavaTM 2
Platform
Std.  Ed.  v1. 4.0

javax.naming.ldap
ÀÎÅÍÆäÀ̽º ExtendedRequest

¸ðµç ½´ÆÛ ÀÎÅÍÆäÀ̽º:
Serializable
±âÁ¸ÀÇ ±¸Çö Ŭ·¡½ºÀÇ À϶÷:
StartTlsRequest

public interface ExtendedRequest
extends Serializable

ÀÌ ÀÎÅÍÆäÀ̽º´Â ¡¸RFC 2251¡¹À¸·Î Á¤Àǵǰí ÀÖ´Â LDAPv3 È®Àå Á¶ÀÛÀÇ ¿ä±¸¸¦ ³ªÅ¸³À´Ï´Ù.

     ExtendedRequest ::= [APPLICATION 23] SEQUENCE {
              requestName      [0] LDAPOID,
              requestValue     [1] OCTET STRING OPTIONAL }
 
ÀÌ ¿ä±¸´Â ¿ÀºêÁ§Æ® È®ÀåÀÚ(extension)ÀÇ Ä³¸¯ÅÍ ¶óÀΰú ÀÓÀÇÀÇ ASN. 1 BER ·Î encode µÈ °ªÀ¸·Î ±¸¼ºµË´Ï´Ù.

ÀÌ Å¬·¡½ºÀÇ ¸Þ¼Òµå´Â ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ·Î »ç¿ëµÇ¾î LDAP ¼­¹ö¿¡ º¸³»´Â ºñÆ®¸¦ ±¸ÃàÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î, ¾îÇø®ÄÉÀ̼ÇÀº ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇϴ Ŭ·¡½º¸¸À» ó¸®Çϰí ÀÖ¾î, ƯÁ¤ÀÇ È®Àå Á¶ÀÛÀÇ ¿ä±¸¿¡ ÀÀÇØ ÇÊ¿äÇÑ Á¤º¸¸¦ Ŭ·¡½º¿¡ Á¦°øÇÕ´Ï´Ù. ´ÙÀ½¿¡ LDAPv3 È®Àå Á¶ÀÛÀ» ½ÇÇàÇϱâ À§Çؼ­, Ŭ·¡½º´Â Àμö·Î¼­LdapContext.extendedOperation() ¸Þ¼Òµå¿¡ ÆÐ½ºµË´Ï´Ù.

¡¸½Ã°£ Ãëµæ¡¹ÀÇ È®Àå Á¶ÀÛÀ» ¼­Æ÷Æ®Çϰí ÀÖ´Â LDAP ¼­¹ö¸¦ ¿¹¸¦ µé¾î º¸°Ú½À´Ï´Ù. LDAP ¼­¹ö´Â GetTimeRequest ¹× GetTimeResponse ÀÇ Å¬·¡½º¸¦ ´ÙÀ½°ú °°ÀÌ ÁöÁ¤ÇÕ´Ï´Ù.

 public class GetTimeRequest implements ExtendedRequest {
     public GetTimeRequest() {... };
     public ExtendedResponse createExtendedResponse(String id, 
 	    byte[] berValue, int offset, int length) 
	    throws NamingException {
         return new GetTimeResponse(id, berValue, offset, length);
     }
     ...
 }
 public class GetTimeResponse implements ExtendedResponse {
     long time;
     public GetTimeResponse(String id, byte[] berValue, int offset, 
 	    int length) throws NamingException {
         time =	... // decode berValue to get time
     }
     public java.util.Date getDate() { return new java.util.Date(time) };
     public long getTime() { return time };
     ...
 }
ÇÁ·Î±×·¥Àº ÀÌ·¯ÇÑ Å¬·¡½º¸¦ ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÕ´Ï´Ù.
 GetTimeResponse resp =
 	(GetTimeResponse) ectx.extendedOperation(new GetTimeRequest());
 long time = resp.getTime();

µµÀÔµÈ ¹öÁ¯:
1.3
°ü·Ã Ç׸ñ:
ExtendedResponse , LdapContext.extendedOperation(javax.naming.ldap.ExtendedRequest)

¸Þ¼ÒµåÀÇ °³¿ä
 ExtendedResponse createExtendedResponse (String  id, byte[] berValue, int offset, int length)
          ÀÌ ¿ä±¸¿¡ ´ëÀÀÇÏ´Â ÀÀ´ä ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
 byte[] getEncodedValue ()
          LDAP ÀÇ È®Àå Á¶ÀÛ ¿ä±¸ÀÇ ASN. 1 BER ·Î encode µÈ °ªÀ» °ËÃâÇÕ´Ï´Ù.
 String getID ()
          ÀÌ ¿ä±¸ÀÇ ¿ÀºêÁ§Æ®ÀÇ ½Äº°ÀÚ¸¦ °ËÃâÇÕ´Ï´Ù.
 

¸Þ¼ÒµåÀÇ »ó¼¼

getID

public String  getID()
ÀÌ ¿ä±¸ÀÇ ¿ÀºêÁ§Æ®ÀÇ ½Äº°ÀÚ¸¦ °ËÃâÇÕ´Ï´Ù.

¹Ýȯ°ª:
LDAP ÀÇ ExtendedRequest.requestName ÄÄÆÛ³ÍÆ®¸¦ ³ªÅ¸³»´Â null ÀÌ¿ÜÀÇ ¿ÀºêÁ§Æ® ½Äº°ÀÚÀÇ Ä³¸¯ÅÍ ¶óÀÎ

getEncodedValue

public byte[] getEncodedValue()
LDAP ÀÇ È®Àå Á¶ÀÛ ¿ä±¸ÀÇ ASN. 1 BER ·Î encode µÈ °ªÀ» °ËÃâÇÕ´Ï´Ù. °ªÀÌ ºñ¾úÀ» °æ¿ì, null °¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù. ÀÌ °á°ú´Â ¿ä±¸Ä¡ÀÇ ÅÂ±× ¹× ±æÀ̸¦ Æ÷ÇÔÇÑ ±×´ë·Î (raw)ÀÇ BER ¹ÙÀÌÆ®·Î Ç¥½ÃµË´Ï´Ù. ´Ù¸¸, ¿ä±¸ÀÇ OID ´Â Ç¥½ÃµÇÁö ¾Ê½À´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â LDAP ¼­¹ö¿¡ º¸³»Áö´Â È®Àå Á¶ÀÛ¿¡ ºñÆ®¸¦ ÀúÀåÇϱâ À§ÇØ(¶§¹®¿¡), ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ¿¡ ÀÇÇØ ºÒ·Á °©´Ï´Ù.

¹Ýȯ°ª:
LDAP ÀÇ ExtendedRequest.requestValue ÄÄÆÛ³ÍÆ®ÀÇ ASN. 1 BER ·Î encode µÈ ³»¿ëÀ» ³ªÅ¸³»´Â null ÀÇ °¡´É¼ºÀÌ ÀÖ´Â ¹ÙÀÌÆ® ¹è¿­
¿¹¿Ü:
IllegalStateException - ¿ä±¸°¡ ºÒÃæºÐÇØ ¹«È¿ÀÎ µ¥ÀÌÅÍ ¹× »óŸ¦ Æ÷ÇÔÇϰí ÀÖ±â (À§ÇØ)¶§¹®¿¡, encode µÈ °ªÀÌ °ËÃâµÇÁö ¾Ê¾Ò´ø °æ¿ì

createExtendedResponse

public ExtendedResponse  createExtendedResponse(String  id,
                                               byte[] berValue,
                                               int offset,
                                               int length)
                                        throws NamingException 
ÀÌ ¿ä±¸¿¡ ´ëÀÀÇÏ´Â ÀÀ´ä ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ°¡ È®Àå Á¶ÀÛÀÇ ¿ä±¸¸¦ LDAP ¼­¹ö¿¡ º¸³½ ÈÄ, ÀÌ ¼­¹ö·ÎºÎÅÍ ÀÀ´äÀ» ¹Þ¾ÆµéÀÔ´Ï´Ù. Á¶ÀÛÀÇ ¿ä±¸°¡ ½ÇÆÐÇϸé(ÀÚ), ÇÁ·Î¹ÙÀÌ´õ´Â NamingException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù. Á¶ÀÛÀÌ Á¤»óÀûÀ¸·Î Á¾·áÇϸé(ÀÚ), ÇÁ·Î¹ÙÀÌ´õ´Â ÀÌ ¸Þ¼Òµå¸¦ ÀÀ´äÇÏ·¯ µ¹¾Æ¿Â µ¥ÀÌÅ͸¦ »ç¿ëÇØ È£ÃâÇÕ´Ï´Ù. È®Àå Á¶ÀÛÀÇ ¿ä±¸¿¡ ÀÓÀÇÀÇ ExtendedResponse ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇϴ Ŭ·¡½º¸¦ µ¹·ÁÁÖ´Â °ÍÀÌ, ÀÌ ¸Þ¼ÒµåÀÇ ÀÛ¾÷ÀÌ µË´Ï´Ù.

¿¹¸¦ µé¾î, Start TLS È®Àå ¿ä±¸ Ŭ·¡½º´Â Start TLS È®Àå ÀÀ´äÀÇ Ã³¸® ¹æ¹ýÀ» ÀνÄÇϱâ À§Çؼ­, ExtendedResponse ¸¦ ±¸ÇöÇϴ Ŭ·¡½º¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
id - ÀÀ´ä ÄÁÆ®·ÑÀÇ null ÀÇ °¡´É¼ºÀÌ ÀÖ´Â ¿ÀºêÁ§Æ® ½Äº°ÀÚ
berValue - null ÀÇ °¡´É¼ºÀÌ ÀÖ´Â ÀÀ´ä ÄÁÆ®·ÑÀÇ ASN. 1 BER ·Î encode µÈ °ª. ÀÌ °ªÀº ÀÀ´äÄ¡ÀÇ ÅÂ±× ¹× ±æÀ̸¦ Æ÷ÇÔÇÑ raw BER ¹ÙÀÌÆ®·Î Ç¥½ÃµÈ´Ù. ´Ù¸¸, ÀÀ´äÀÇ OID ´Â Ç¥½ÃµÇÁö ¾Ê´Â
offset - »ç¿ë ¹ÙÀÌÆ®ÀÇ berValue ÀÇ °³½Ã À§Ä¡
length - berValue ÀÇ »ç¿ë ¹ÙÀÌÆ®¼ö
¹Ýȯ°ª:
null ÀÌ¿ÜÀÇ ¿ÀºêÁ§Æ®
¿¹¿Ü:
NamingException - ¿¡·¯À̱⠶§¹®¿¡ È®Àå ÀÀ´äÀ» ÀÛ¼ºÇÒ ¼ö ¾ø´Â °æ¿ì
°ü·Ã Ç׸ñ:
ExtendedResponse

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

¹ö±×ÀÇ º¸°í¿Í ±â´ÉÀÇ ¸®Äù½ºÆ®
ÀÌ¿ÜÀÇ API ·¹ÆÛ·±½º ¹× °³¹ßÀÚ¿ë ¹®¼­¿¡ ´ëÇØ¼­´Â Java 2 SDK SE °³¹ßÀÚ¿ë ¹®¼­¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä. °³¹ßÀÚÀü¿ëÀÇ »ó¼¼ÇÑ ÇØ¼³, °³³äÀÇ °³¿ä, ¿ë¾îÀÇ Á¤ÀÇ, ¹ö±×ÀÇ È¸ÇÇÃ¥, ¹× ÄÚµå ½Ç·Ê°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.

Java, Java 2 D, ¹× JDBC ´Â ¹Ì±¹ ¹× ±× ¿ÜÀÇ ³ª¶ó¿¡ À־ÀÇ ¹Ì±¹ Sun Microsystems, Inc. ÀÇ »óÇ¥ ȤÀº µî·Ï»óÇ¥ÀÔ´Ï´Ù.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.