JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.net
Ŭ·¡½º SocketPermission

java.lang.Object 
  |
  +--java.security.Permission 
        |
        +--java.net.SocketPermission
¸ðµç ±¸Çö ÀÎÅÍÆäÀ̽º:
Guard , Serializable

public final class SocketPermission
extends Permission
implements Serializable

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

    host = (hostname | IPv4address | iPv6reference) [:portrange]
    portrange = portnumber | -portnumber | portnumber-[portnumber]
 
host ¿¡´Â DNS ¸í, ¼öÄ¡¿¡ ÀÇÇÑ IP ÁÖ¼Ò, ¶Ç´Â ¡¸localhost¡¹(·ÎÄà ¸Ó½ÅÀÇ °æ¿ì)ÀÇ ¾î¶² °ÍÀÎÁö¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. DNS ¿¡ ÀÇÇÑ È£½ºÆ® ÁöÁ¤¿¡¼­´Â ¿ÍÀϵå Ä«µå ij¸¯ÅÍ ¡¸*¡¹À» 1 kr¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¸ ¿ÍÀϵå Ä«µå ij¸¯ÅÍ´Â ¡¸*. 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)·Î »ç¿ëÇßÀ» °æ¿ì¿¡¸¸ Àǹ̰¡ ÀÖ½À´Ï´Ù. ÇØ°á ¾×¼Ç (È£½ºÆ®¿Í IP ÀÇ »çÀÌÀÇ ³×ÀÓ ¼­ºñ½º ÂüÁ¶ÀÇ ÇØ°á)Àº ´Ù¸¥ ÀÓÀÇÀÇ ¾×¼ÇÀÌ ÁöÁ¤µÇ¾úÀ» °æ¿ì¿¡´Â ¾Ï¹¬ÀûÀ¸·Î ÁöÁ¤µË´Ï´Ù.

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

hashCode

public int hashCode()
ÀÌ ¿ÀºêÁ§Æ®ÀÇ ÇØ½Ã ÄÚµåÄ¡¸¦ µ¹·ÁÁÝ´Ï´Ù.

Á¤ÀÇ:
Ŭ·¡½º Permission ³»ÀÇ hashCode
¹Ýȯ°ª:
ÀÌ ¿ÀºêÁ§Æ®ÀÇ ÇØ½Ã ÄÚµåÄ¡

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
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.