|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
| ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
| °³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå | ||||||||||
±âº» ½ÃÅ¥·¯Æ¼ ¼ºñ½º°¡ À¯Àú¸íÀ̳ª ÆÐ½º¿öµåµîÀÇ Æ¯Á¤ÀÇ ÀÎÁõ µ¥ÀÌÅ͸¦ ÃëµæÇϰųª ¿¡·¯³ª °æ°í ¸Þ¼¼ÁöµîÀÇ Æ¯Á¤ÀÇ Á¤º¸¸¦ Ç¥½ÃÇÒ ¼ö ÀÖ°Ô, ¾îÇø®ÄÉÀ̼ÇÀº CallbackHandler À» ±¸ÇöÇØ, ±âº» ½ÃÅ¥·¯Æ¼ ¼ºñ½º¿¡ °Ç³×ÁÝ´Ï´Ù.
CallbackHandler ´Â ¾îÇø®ÄÉÀÌ¼Ç °íÀ¯ÀÇ Çü½Ä¿¡¼ ±¸ÇöµË´Ï´Ù. ¿¹¸¦ µé¾î, ±×·¡ÇÇÄà À¯Àú ÀÎÅÍÆäÀ̽º (GUI)¸¦ °¡Áö´Â ¾îÇø®ÄÉÀ̼ǿ¡ ÀÖ¾î¼ÀÇ ±¸Çö¿¡¼´Â À©µµ¿ì¸¦ pop-up ÇØ, Á¤º¸¸¦ ¿ä±¸ÇÏ´Â prompt³ª, ¿¡·¯ ¸Þ¼¼Áö¸¦ Ç¥½ÃÇÕ´Ï´Ù. ¶Ç, ¿ä±¸µÈ Á¤º¸¸¦, ÃÖÁ¾ »ç¿ëÀÚ¿¡°Ô ¹¯´Â °ÍÀÌ ¾Æ´Ï¶ó, ´Ù¸¥ ¼Ò½º·ÎºÎÅÍ ÃëµæÇÏ´Â Àϵµ ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù.
±âº» ½ÃÅ¥·¯Æ¼ ¼ºñ½º¿¡¼´Â °³°³ÀÇ Callback ¸¦ CallbackHandler ¿¡ °Ç³×ÁÖ´Â °ÍÀ¸·Î, ´Ù¾çÇÑ Å¸ÀÔÀÇ Á¤º¸¸¦ ¿ä±¸ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. CallbackHandler ÀÇ ±¸Çö¿¡¼´Â °Ç³×¹Þ´Â Callback ¿¡ ÀÇÇØ ¹Ù²î´Â Á¤º¸ÀÇ Ãëµæ°ú Ç¥½ÃÀÇ ¹æ¹ýÀ» °áÁ¤ÇÏ°Ô µË´Ï´Ù. ¿¹¸¦ µé¾î ±âº» ¼ºñ½º·Î À¯Àú¸¦ ÀÎÁõÇϱâ À§Çؼ À¯Àú¸íÀ¸·Î ÆÐ½º¿öµå°¡ ÇÊ¿äÇÑ °æ¿ì´Â NameCallback °ú PasswordCallback ¸¦ »ç¿ëÇÕ´Ï´Ù. ±×¸®°í CallbackHandler ¿¡¼´Â À¯Àú¸í°ú ÆÐ½º¿öµå¸¦ Â÷·Ê·Î ÀԷ½ÃŰ´ÂÁö 1 °³ÀÇ À©µµ¿ì³»¿¡ ¾çÂÊ ¸ðµÎ¸¦ ÀԷ½ÃŰ´ÂÁö¸¦ ¼±ÅÃÇÕ´Ï´Ù.
µðÆúÆ®ÀÇ CallbackHandler Ŭ·¡½ºÀÇ ±¸ÇöÀº auth.login.defaultCallbackHandler ½ÃÅ¥·¯Æ¼ ÇÁ·ÎÆÛƼ·Î ÁöÁ¤µÇ°í ÀÖ½À´Ï´Ù. ½ÃÅ¥·¯Æ¼ ÇÁ·ÎÆÛƼ´Â <JAVA_HOME>/lib/security/java.security ¶ó°í ÇÏ´Â ÆÄÀÏ¿¡ ÀÖ´Â Java ½ÃÅ¥·¯Æ¼ ÇÁ·ÎÆÛƼ ÆÄÀÏ·Î ¼³Á¤ÇÕ´Ï´Ù. <JAVA_HOME> ´Â SDK °¡ ÀνºÅç µÇ°í ÀÖ´Â µð·ºÅ丮ÀÔ´Ï´Ù.
½ÃÅ¥·¯Æ¼ ÇÁ·ÎÆÛƼ°¡ CallbackHandler ±¸Çö Ŭ·¡½ºÀÇ ¿ÏÀü ÁöÁ¤¸íÀ¸·Î ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì,LoginContext ´Â ÁöÁ¤ÇÑ CallbackHandler ¸¦ ·ÎµåÇØ, ±âº»ÀÌ µÇ´Â LoginModule ¿¡ °Ç³×ÁÝ´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì,LoginContext ´Â µðÆúÆ®ÀÇ Çڵ鷯¸¸À» ·ÎµåÇÕ´Ï´Ù.
¸ðµç µðÆúÆ® Çڵ鷯ÀÇ ±¸Çö¿¡¼´Â Àμö¸¦ °¡ÁöÁö ¾Ê´Â public constructor ÀÌ ¾øÀ¸¸é ¾ÈµË´Ï´Ù.
| ¸Þ¼ÒµåÀÇ °³¿ä | |
void |
handle (Callback [] callbacks)
ÁöÁ¤ÀÇ Callback ³»¿¡¼ ¿ä±¸µÈ Á¤º¸¸¦ Ãëµæ ¶Ç´Â Ç¥½ÃÇÕ´Ï´Ù. |
| ¸Þ¼ÒµåÀÇ »ó¼¼ |
public void handle(Callback [] callbacks)
throws IOException ,
UnsupportedCallbackException
ÁöÁ¤ÀÇ Callback ³»¿¡¼ ¿ä±¸µÈ Á¤º¸¸¦ Ãëµæ ¶Ç´Â Ç¥½ÃÇÕ´Ï´Ù.
handle ¸Þ¼ÒµåÀÇ ±¸Çö¿¡¼´Â °Ç³×¹ÞÀº Callback ¿ÀºêÁ§Æ®ÀÇ ÀνºÅϽº°¡, ¿ä±¸µÈ Á¤º¸¸¦ Ãëµæ ¶Ç´Â Ç¥½ÃÇÒ ¼ö ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÕ´Ï´Ù. handle ¸Þ¼Òµå ±¸ÇöÀÇ µ¿ÀÛÀÇ ½Ç·Ê¸¦, ´ÙÀ½¿¡ ³ªÅ¸³À´Ï´Ù. ÀÌ Äڵ忹´Â °ßº»À» ³ªÅ¸³¾ »ÓÀÔ´Ï´Ù. Äڵ带 °£´ÜÇÏ°Ô Çϱâ À§Çؼ, ÀûÀýÇÑ ¿¡·¯ 󸮵îÀÇ ÀÚ¼¼ÇÑ °ÍÀº »ý·«Çϰí ÀÖ½À´Ï´Ù.
public void handle(Callback[] callbacks)
throws IOException, UnsupportedCallbackException {
for (int i = 0; i < callbacks.length; i++) {
if (callbacks[i] instanceof TextOutputCallback) {
// display the message according to the specified type
TextOutputCallback toc = (TextOutputCallback) callbacks[i];
switch (toc.getMessageType()) {
case TextOutputCallback.INFORMATION:
System.out.println(toc.getMessage());
break;
case TextOutputCallback.ERROR:
System.out.println("ERROR: " + toc.getMessage());
break;
case TextOutputCallback.WARNING:
System.out.println("WARNING: " + toc.getMessage());
break;
default:
throw new IOException("Unsupported message type: " +
toc.getMessageType());
}
} else if (callbacks[i] instanceof NameCallback) {
// prompt the user for a username
NameCallback nc = (NameCallback) callbacks[i];
// ignore the provided defaultName
System.err.print(nc.getPrompt());
System.err.flush();
nc.setName((new BufferedReader
(new InputStreamReader(System.in))). readLine());
} else if (callbacks[i] instanceof PasswordCallback) {
// prompt the user for sensitive information
PasswordCallback pc = (PasswordCallback) callbacks[i];
System.err.print(pc.getPrompt());
System.err.flush();
pc.setPassword(readPassword(System.in));
} else {
throw new UnsupportedCallbackException
(callbacks[i], "Unrecognized Callback");
}
}
}
// Reads user password from given input stream.
private char[] readPassword(InputStream in) throws IOException {
// insert code to read a user password from the input stream
}
callbacks - Ãëµæ ¶Ç´Â Ç¥½Ã°¡ ¿ä±¸µÈ Á¤º¸¸¦ Æ÷ÇÔÇÑ ±âº» ½ÃÅ¥·¯Æ¼ ¼ºñ½º°¡ Á¦°øÇÏ´Â Callback ¿ÀºêÁ§Æ®ÀÇ ¹è¿
IOException - ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
UnsupportedCallbackException - ÀÌ ¸Þ¼ÒµåÀÇ ±¸ÇöÀÌ callbacks ÆÄ¶ó¹ÌÅÍ·Î ÁöÁ¤µÈ 1 kr ÀÌ»óÀÇ Callback ¸¦ ¼Æ÷Æ®ÇÏÁö ¾Ê´Â °æ¿ì
|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
| ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
| °³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå | ||||||||||
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.