JavaTM 2 Platform
Standard Ed. 5.0

java.net
Ŭ·¡½º SocketPermission

java.lang.Object 
  »óÀ§¸¦ È®Àå java.security.Permission 
      »óÀ§¸¦ È®Àå java.net.SocketPermission
¸ðµç ±¸ÇöµÈ ÀÎÅÍÆäÀ̽º:
Serializable, Guard

public final class SocketPermission
extends Permission
implements Serializable

ÀÌ Å¬·¡½º´Â ¼ÒÄÏ¿¡ ÇÑ ³×Æ®¿öÅ©¿¡ÀÇ ¾×¼¼½º¸¦ ³ªÅ¸³À´Ï´Ù. SocketPermission´Â È£½ºÆ®ÀÇ ÁöÁ¤°ú È£½ºÆ®¿¡°Ô Á¢¼ÓÇÏ´Â ¹æ¹ýÀ» ÁöÁ¤ÇÏ´Â ÀÏ·ÃÀÇ ¾×¼ÇÀ¸·ÎºÎÅÍ ±¸¼ºµË´Ï´Ù. È£½ºÆ®´Â ´ÙÀ½°ú °°ÀÌÀÇÇØ ÁöÁ¤ÇÕ´Ï´Ù.


    host = (hostname | IPv4address | iPv6reference) [:portrange]
    portrange = portnumber | -portnumber | portnumber-[portnumber]
 
host ¿¡´Â DNS ¸í, ¼öÄ¡¿¡ ÇÑ IP ÁÖ¼Ò, ¶Ç´Â ¡¸localhost¡¹(·ÎÄà ¸Ó½ÅÀÇ °æ¿ì)ÀÇ ¾î¶² °ÍÀÎÁö¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. DNS ¿¡ ÇÑ È£½ºÆ® ÁöÁ¤¿¡¼­´Â ¿Í Àϵå Ä«µå ¹®ÀÚ ¡¸*¡¹À» 1°³ ¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¸¿Í Àϵå Ä«µå ¹®ÀÚ´Â ¡¸*. sun.com¡¹¿Í °°ÀÌ, ¹Ýµå½Ã Á´ÜÀ¸·Î ÁöÁ¤ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

IPv6reference Çü½ÄÀº, ¡¸RFC 2732: Format for Literal IPv6 Addresses in URLs¡¹·Î °¡¸®Å°´Â Çü½Ä¿¡ µû¸¨´Ï´Ù.


    ipv6reference = "[" IPv6address "]"
¿¹¸¦ µé¾î ´ÙÀ½°ú °°ÀÌ SocketPermission ÀνºÅϽº¸¦ ±¸ÃàÇÒ ¼ö ÀÖ½À´Ï´Ù.

    String hostAddress = inetaddress.getHostAddress();
    if (inetaddress instanceof Inet6Address) {
        sp = new SocketPermission("[" + hostAddress + "]:" + port, action);
    } else {
        sp = new SocketPermission(hostAddress + ":" + port, action);
    }
 
¶Ç´Â

    String host = url.getHost();
    sp = new SocketPermission(host + ":" + port, action);
 

¸®ÅÍ·² IPv6 ÁÖ¼ÒÀÇ ¡¸ºñ¾ÐÃà Çü½Ä¡¹µµ À¯È¿ÇÕ´Ï´Ù.

port ¶Ç´Â portrange ÁöÁ¤Àº ÀÓÀÇÀÔ´Ï´Ù. Æ÷Æ® ¹øÈ£ N¿¡ ´ëÇØ ¡¸N-¡¹(ÀÌ)¶ó°í ÁöÁ¤ÇßÀ» °æ¿ì´Â ¹øÈ£°¡ N ÀÌ»óÀÇ ¸ðµç Æ÷Æ®¸¦ ³ªÅ¸³À´Ï´Ù. ¡¸-N¡¹¶ó°í ÁöÁ¤ÇßÀ» °æ¿ì´Â N ¾Æ·¡ÀÇ ¸ðµç Æ÷Æ®¸¦ ³ªÅ¸³À´Ï´Ù.

È£½ºÆ®¿¡°Ô·ÎÀÇ Á¢¼Ó ¹æ¹ý¿¡´Â ´ÙÀ½ÀÇ Á¾·ù°¡ ÀÖ½À´Ï´Ù.


 accept (¼ö½Å)
 connect (Á¢¼Ó)
 listen (´ë±â)
 resolve (ÇØ°á)
 
´ë±â ¾×¼ÇÀº ·ÎÄà ȣ½ºÆ® (localhost)·Î »ç¿ëÇßÀ» °æ¿ì¿¡¸¸ ¹Ì°¡ ÀÖ½À´Ï´Ù. ÇØ°á ¾×¼ÇÀº ´Ù¸¥ ÀÓÀÇÀÇ ¾×¼ÇÀÌ ÁöÁ¤µÇ¾úÀ» °æ¿ì¿¡´Â ¾Ï¹¬ÀûÀ¸·Î ÁöÁ¤µË´Ï´Ù.

SocketPermissions ÀÛ¼º ¹× ±× ¹Ì¸¦ ¿¹¿¡ ³ªÅ¸³À´Ï´Ù.


   p1 = new SocketPermission("puffin.eng.sun.com:7777", "connect, accept");
 
¾î´À Äڵ忡 ´ëÇؼ­ À§ÀÇ Á¢±Ù ±ÇÇÑÀÌ ÀÎÁ¤µÇ¾úÀ» °æ¿ì, ÀÌ°ÍÀº ±× Äڵ尡puffin.eng.sun.com Æ÷Æ® 7777 ¿¡ÀÇ Á¢¼Ó ¹× ±× Æ÷Æ®»ó¿¡¼­ÀÇ Á¢¼ÓÀÇ ¼ö¶ôÀ» ½Ç½ÃÇÏ´Â °ÍÀ» Çã¿ëÇÕ´Ï´Ù.

°°ÀÌ


   p1 = new SocketPermission("puffin.eng.sun.com:7777", "connect, accept");
   p2 = new SocketPermission("localhost:1024-", "accept, connect, listen");
 
¾î´À Äڵ忡 ´ëÇؼ­ À§ÀÇ Á¢±Ù ±ÇÇÑÀÌ ÀÎÁ¤µÇ¾úÀ» °æ¿ì, ±× ÄÚµå´Â ·ÎÄà ȣ½ºÆ®»óÀÇ 1024 ~ 65535 Æ÷Æ®¿¡ ´ëÇؼ­ Á¢¼ÓÀÇ ¼ö¶ô, Á¢¼Ó, ´ë±â¸¦ ½Ç½ÃÇÏ´Â °ÍÀ» Çã°¡µË´Ï´Ù.

ÁÖ: ¸®¸ðÆ® È£½ºÆ®·ÎºÎÅÍÀÇ Á¢¼ÓÀ» ¹Þ¾ÆµéÀ̰ųª ¸®¸ðÆ® È£½ºÆ®¿¡°Ô Á¢¼ÓÇϱâ À§ÇÑ Á¢±Ù ±ÇÇÑÀ» Äڵ忡 Çã°¡ÇÏ´Â °ÍÀº À§ÇèÇÕ´Ï´Ù. ÀÌ°ÍÀº ¾ÇÀÇ°¡ ÀÖ´Â Äڵ带 »ç¿ëÇÏ´Â °ÍÀ¸·Î º»·¡¶ó¸é ±â¹Ð µ¥ÀÌÅÍ¿¡ÀÇ Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì¿¡¼­µµ, ±â¹Ð µ¥ÀÌÅÍÀÇ Àü¼ÛÀ̳ª °øÀ¯¸¦ ¿ëÀÌÇÏ°Ô ½Ç½ÃÇÒ ¼ö ÀÖ°Ô µÇ±â ¶§¹®ÀÔ´Ï´Ù.

°ü·Ã Ç׸ñ:
Permissions, SocketPermission

»ý¼ºÀÚ °³¿ä
SocketPermission (String  host, String  action)
          ÁöÁ¤µÈ ¾×¼ÇÀ» °¡Áö´Â »õ·Î¿î SocketPermission °´Ã¼¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
 
¸Þ¼­µå °³¿ä
 boolean equals (Object  obj)
          2°³ÀÇ SocketPermission °´Ã¼°¡ µ¿ÀÏÇÑÁö ¾î¶²Áö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù.
 String getActions ()
          ¾×¼ÇÀÇ Á¤½ÄÀû ij¸¯ÅÍ ¶óÀΠǥÇöÀ» ¸®ÅÏÇÕ´Ï´Ù.
 int hashCode ()
          ÀÌ °´Ã¼ÀÇ Çؽà Äڵ尪À» ¸®ÅÏÇÕ´Ï´Ù.
 boolean implies (Permission  p)
          ÁöÁ¤µÈ Á¢±Ù ±ÇÇÑÀÌ, ÀÌ ¼ÒÄÏ Á¢±Ù ±ÇÇÑ °´Ã¼¿¡ Æ÷ÇԵǾî ÀÖ´ÂÁö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù.
 PermissionCollection newPermissionCollection ()
          SocketPermission °´Ã¼¸¦ Æ÷ÇÔÇϱâ À§ÇÑ, »õ·Î¿î PermissionCollection °´Ã¼¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 
Ŭ·¡½º java.security. Permission ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
checkGuard, getName, toString
 
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

»ý¼ºÀÚ »ó¼¼

SocketPermission

public SocketPermission(String  host,
                        String  action)
ÁöÁ¤µÈ ¾×¼ÇÀ» °¡Áö´Â »õ·Î¿î SocketPermission °´Ã¼¸¦ ÀÛ¼ºÇÕ´Ï´Ù. È£½ºÆ®¸íÀº DNS ¸íÀΰ¡ ¼öÄ¡¿¡ ÇÑ IP Áּҷμ­ ÁöÁ¤ÇÕ´Ï´Ù. ÇÊ¿ä¿¡ µû¶ó¼­, Æ÷Æ® ¹øÈ£ ¶Ç´Â Æ÷Æ® ¹øÈ£ÀÇ ¹üÀ§¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. DNS ¸í ¶Ç´Â IP ÁÖ¼ÒÀÇ ÈÄ¿¡ ±¸µÎÁ¡À¸·Î ´Ü¶ôÁö¾î ÁöÁ¤ÇØ ÁÖ¼¼¿ä.

·ÎÄà ¸Ó½ÅÀ» ÁöÁ¤ÇÏ·Á¸é, host¿¡ ¡¸localhost¡¹¶ó°í ÁöÁ¤ÇØ ÁÖ¼¼¿ä. ¶ÇÇÑ, host¸¦ ºñ¾îÀִ ij¸¯ÅÍ ¶óÀδë·ÎÀÇÇØ µÎ¸é, localhost¸¦ ÁöÁ¤ÇÑ °Í°ú °°°Ô µË´Ï´Ù.

actions ÆĶó¹ÌÅÍ¿¡´Â ÁöÁ¤µÈ È£½ºÆ® ¹× Æ÷Æ®¿¡ ºÎ¿©µÇ´Â ¾×¼ÇÀÇ ¸®½ºÆ®¸¦, ÄÞ¸¶·Î ´Ü¶ôÁöÀº Çü½Ä¿¡¼­ ÁöÁ¤ÇÕ´Ï´Ù. ÁöÁ¤ÇÒ ¼ö ÀÖ´Â ¾×¼ÇÀº connect, listen, accept, resolve, ȤÀº ±×·¯ÇÑ ÀÓÀÇÀÇ Æí¼ºÀÔ´Ï´Ù. resolve´Â ±× ÀÌ¿ÜÀÇ 3 °³ÁßÀÓÀÇÀÇ ¾×¼ÇÀÌ ÁöÁ¤µÇ¾úÀ» ¶§¿¡µµ, ÀÚµ¿ÀûÀ¸·Î Ãß°¡µË´Ï´Ù.

SocketPermission ÀνºÅϽº »ý¼ºÀÇ ¿¹¸¦ ´ÙÀ½¿¡ ³ªÅ¸³À´Ï´Ù.


    nr = new SocketPermission("www.catalog.com", "connect");
    nr = new SocketPermission("www.sun.com:80", "connect");
    nr = new SocketPermission("*. sun.com", "connect");
    nr = new SocketPermission("*. edu", "resolve");
    nr = new SocketPermission("204.160. 241.0", "connect");
    nr = new SocketPermission("localhost:1024-65535", "listen");
    nr = new SocketPermission("204.160. 241.0:1024-65535", "connect");
 

ÆĶó¹ÌÅÍ:
host - ÄÄÇ»ÅÍÀÇ È£½ºÆ®¸í ¶Ç´Â IP ÁÖ¼Ò. ÇÊ¿ä¿¡ µû¶ó¼­, ±¸µÎÁ¡ÀÇ ÈÄ¿¡ Æ÷Æ® ¹øÈ£ ¶Ç´Â Æ÷Æ® ¹øÈ£ÀÇ ¹üÀ§¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Â
action - ¾×¼ÇÀÇ Ä³¸¯ÅÍ ¶óÀÎ
¸Þ¼­µåÀÇ »ó¼¼

implies

public boolean implies(Permission  p)
ÁöÁ¤µÈ Á¢±Ù ±ÇÇÑÀÌ, ÀÌ ¼ÒÄÏ Á¢±Ù ±ÇÇÑ °´Ã¼¿¡ Æ÷ÇԵǾî ÀÖ´ÂÁö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù.

±¸Ã¼ÀûÀ¸·Î´Â ÀÌ ¸Þ¼­µå´Â ÃÖÃÊ·Î ´ÙÀ½ÀÇ Á¶°ÇÀÌ true ÀÎ °ÍÀ» È®ÀÎÇÕ´Ï´Ù. ÀÌ·¯ÇÑ Á¶°ÇÀÌ 1°³¿¡ ¼­µµ true°¡ ¾Æ´Ñ °æ¿ì, ÀÌ ¸Þ¼­µå´Â false¸¦ ¸®ÅÏÇÕ´Ï´Ù.

´ÙÀ½¿¡ implies´Â ´ÙÀ½ÀÇ Á¶°ÇÀ» Â÷·Ê·Î È®ÀÎÇØ, Á¶°Ç¿¡ ÇØ´çÇÏ´Â °æ¿ì´Â °¢°¢ ºÙ¾î true¸¦ ¸®ÅÏÇÕ´Ï´Ù.

ÀÌ»óÀÌ 1°³ ³ª true°¡ ¾Æ´Ñ °æ¿ì, implies´Â false¸¦ ¸®ÅÏÇÕ´Ï´Ù.

Á¤ÀÇ:
Ŭ·¡½º Permission ³»ÀÇ implies
ÆĶó¹ÌÅÍ:
p - üũ ´ë»óÀÇ Á¢±Ù ±ÇÇÑ
¹Ýȯ°ª:
ÁöÁ¤µÈ Á¢±Ù ±ÇÇÑÀÌ ÀÌ °´Ã¼¿¡ Æ÷ÇԵǴ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false

equals

public boolean equals(Object  obj)
2°³ÀÇ SocketPermission °´Ã¼°¡ µ¿ÀÏÇÑÁö ¾î¶²Áö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù.

Á¤ÀÇ:
Ŭ·¡½º Permission ³»ÀÇ equals
ÆĶó¹ÌÅÍ:
obj - ÀÌ °´Ã¼¿Í µ¿ÀÏÇÑÁö ¾î¶²Áö°¡ ÆÇÁ¤µÇ´Â °´Ã¼
¹Ýȯ°ª:
obj°¡ SocketPermission À̸ç, ÀÌ SocketPermission °´Ã¼¿Í °°Àº È£½ºÆ®¸í, Æ÷Æ® ¹üÀ§ ¹× ¾×¼ÇÀ» °¡Áö´Â °æ¿ì´Â true. obj ¹Û¿¡ ¾×¼Ç resolve°¡ Æ÷ÇÔµÇÁö ¾Ê´Â °æ¿ì, ºñ±³½Ã¿¡ Æ÷Æ® ¹üÀ§´Â ¹«½ÃµÇ´Â
°ü·Ã Ç׸ñ:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
ÀÌ °´Ã¼ÀÇ Çؽà Äڵ尪À» ¸®ÅÏÇÕ´Ï´Ù.

Á¤ÀÇ:
Ŭ·¡½º Permission ³»ÀÇ hashCode
¹Ýȯ°ª:
ÀÌ °´Ã¼ÀÇ Çؽà Äڵ尪
°ü·Ã Ç׸ñ:
Object.equals(java.lang.Object), Hashtable

getActions

public String  getActions()
¾×¼ÇÀÇ Á¤½ÄÀû ij¸¯ÅÍ ¶óÀΠǥÇöÀ» ¸®ÅÏÇÕ´Ï´Ù. ÇöÀçÀÇ ¾×¼ÇÀ» connect, listen, accept, resolve ¼ø¼­·Î ¸®ÅÏÇÕ´Ï´Ù.

Á¤ÀÇ:
Ŭ·¡½º Permission ³»ÀÇ getActions
¹Ýȯ°ª:
¾×¼ÇÀÇ Ç¥ÁØÀûÀΠij¸¯ÅÍ ¶óÀΠǥÇö

newPermissionCollection

public PermissionCollection  newPermissionCollection()
SocketPermission °´Ã¼¸¦ Æ÷ÇÔÇϱâ À§ÇÑ, »õ·Î¿î PermissionCollection °´Ã¼¸¦ ¸®ÅÏÇÕ´Ï´Ù.

SocketPermission °´Ã¼ÀÇ Æ÷ÇÔ Çü½ÄÀº µ¿°´Ã¼¸¦ ÀÓÀÇÀÇ Â÷·Ê·Î Ä÷º¼Ç¿¡ »ðÀÔÇÒ ¼ö ÀÖ¾î °Ô´Ù°¡ PermissionCollection implies ¸Þ¼­µå°¡ È¿À²Àû ¶ÇÇÑ ¸ð¼øÀÌ ¾ø°Ô ±¸ÇöÇÒ ¼ö ÀÖ´Â Çü½ÄÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Permission ³»ÀÇ newPermissionCollection
¹Ýȯ°ª:
SocketPermissions¸¦ Æ÷ÇÔÇϴµ¥ ÀûÀýÇÑ »õ·Î¿î PermissionCollection °´Ã¼

JavaTM 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.