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¸¦ ÇÏ´ÃÀÇ Ä³¸¯ÅÍ ¶óÀδë·Î ÇØ µÎ¸é, 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 µµ ÂüÁ¶ÇϽʽÿÀ.