JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.security
Ŭ·¡½º AccessController

java.lang.Object 
  |
  +--java.security.AccessController

public final class AccessController
extends Object

AccessController Ŭ·¡½º´Â ¾×¼¼½º Á¦¾îÀÇ Á¶ÀÛ°ú °áÁ¤¿¡ »ç¿ëµË´Ï´Ù.

±¸Ã¼ÀûÀ¸·Î´Â AccessController Ŭ·¡½º¸¦ ´ÙÀ½ÀÇ 3 °³ÀÇ ¸ñÀûÀ¸·Î »ç¿ëÇÕ´Ï´Ù.

checkPermission ¸Þ¼Òµå´Â ÁöÁ¤ÇÑ ¾×¼¼½º±Ç¿¡ ÀÇÇØ ³ªÅ¸³ª´Â ¾×¼¼½º ¿ä±¸°¡ Çã°¡µÇ´ÂÁö °ÅºÎµÉ±î¸¦ °áÁ¤ÇÕ´Ï´Ù. ÀÌÇÏ¿¡, È£ÃâÀÇ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù. ÀÌ ¿¹¿¡¼­´Â checkPermission ´Â /temp µð·ºÅ丮ÀÇ testFile ¶ó°í ÇÏ´Â ÆÄÀÏ¿¡ÀÇ Àоîµé¿© ±ÇÀ» Çã°¡ÇÒÁö ¾î¶³Áö¸¦ °áÁ¤ÇÕ´Ï´Ù.

 
    FilePermission perm = new FilePermission("/temp/testFile", "read");
    AccessController.checkPermission(perm);
 
 

¿ä±¸ÇÑ ¾×¼¼½º°¡ Çã°¡µÇ´Â °æ¿ì¿¡´Â checkPermission ´Â ¾Æ¹«°Íµµ ÇÏÁö ¾Ê°í º¹±ÍÇÕ´Ï´Ù. °ÅºÎµÇ´Â °æ¿ì¿¡´Â AccessControlException °¡ ½½·Î¿ì µË´Ï´Ù. ¿ä±¸ ¾×¼¼½º±ÇÀÌ ºÎÀûÀýÇϰųª ¹«È¿ÀÎ °ªÀ» Æ÷ÇÔÇϰí ÀÖ¾úÀ» °æ¿ì¿¡µµ, AccessControlException ´Â ½½·Î¿ì µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ±×·¯ÇÑ Á¤º¸´Â °¡´ÉÇÑ °æ¿ì¿¡´Â ¹Ýµå½Ã Á¦°øµË´Ï´Ù. ÇöÀçÀÇ thread°¡, m °³ÀÇ È£ÃâÃøÀ» 1, 2 % % % m ÀÇ Â÷·Ê·Î ó¸®ÇØ, È£ÃâÃø m °¡ checkPermission ¸Þ¼Òµå¸¦ È£ÃâÇß´Ù°í ÇÕ´Ï´Ù. checkPermission ¸Þ¼Òµå´Â ´ÙÀ½ÀÇ ¾Ë°í¸®Áò¿¡ ±Ù°ÅÇØ, ¾×¼¼½º°¡ Çã°¡µÉ±î °ÅºÎµÉ±î¸¦ °áÁ¤ÇÕ´Ï´Ù.

 i = m;
 
 while (i > 0) {
 
      if (È£ÃâÃøÀÇ µµ¸ÞÀο¡ ¾×¼¼½º±ÇÀÌ ¾ø´Ù)
              throw AccessControlException
 
      else if (È£Ãâ¿ø i °¡ Ư±Ç ÄÚµå·Î¼­ ¸¶Å© µÇ°í ÀÖ´Ù) {
              if (¹®¸ÆÀÌ doPrivileged ÀÇ È£Ãâ·Î ÁöÁ¤µÇ¾ú´Ù) 
                 context.checkPermission(permission)
              return;
      }
      i = i - 1;
 };

    // Next, check the context inherited when
    // the thread was created.  Whenever a new thread is created, the
    // AccessControlContext at that time is
    // stored and associated with the new thread, as the "inherited"
    // context.
 
 inheritedContext.checkPermission(permission);
 

È£ÃâÃøÀº Ư±Ç ÄÚµå·Î¼­ ¸¶Å© ÇÒ ¼ö ÀÖ½À´Ï´Ù (doPrivileged ¹× ÀÌÇÏÀÇ ¼³¸íÀ» ÂüÁ¶). ¾×¼¼½º Á¦¾î¸¦ °áÁ¤ÇÏ´Â °æ¿ì,checkPermission ¸Þ¼Òµå´Â ¹®¸Æ Àμö°¡ ¾ø´Â doPrivileged ÀÇ È£Ãâ¿¡ ÀÇÇØ Ư±Ç ÄÚµå·Î¼­ ¸¶Å© µÈ È£Ãâ Ãø¿¡ ´ê¾ÒÀ» ¶§¿¡, °Ë»ç¸¦ ÁßÁöÇÕ´Ï´Ù (¹®¸Æ Àμö¿¡ ´ëÇØ¼­´Â ÀÌÇÏÀÇ ¼³¸íÀ» ÂüÁ¶). ±× È£ÃâÃøÀÇ area·Î ÁöÁ¤µÈ ¾×¼¼½º±ÇÀÌ ÀÖ´Â °æ¿ì, ÀÌÈÄÀÇ °Ë»ç´Â ÇàÇØÁöÁö ¾Ê°í checkPermission ´Â ¾Æ¹«°Íµµ ÇÏÁö ¾Ê°í º¹±ÍÇØ, ¿ä±¸ÇÑ ¾×¼¼½º°¡ Çã°¡µÈ °ÍÀ» ³ªÅ¸³À´Ï´Ù. ±× area·Î ÁöÁ¤µÈ ¾×¼¼½º±ÇÀÌ ¾ø´Â °æ¿ì¿¡´Â Åë»ó ´ë·Î ¿¹¿Ü°¡ ½½·Î¿ì µË´Ï´Ù.

ÀÌÇÏ¿¡, Ư±Ç ±â´ÉÀÇ Åë»óÀÇ »ç¿ë¹ýÀ» ¼³¸íÇÕ´Ï´Ù. Ư±Ç ºí·Ï³»·ÎºÎÅÍ °ªÀ» µ¹·ÁÁÙ Çʿ䰡 ¾ø´Â °æ¿ì¿¡´Â ´ÙÀ½°ú °°ÀÌ ±â¼úÇÕ´Ï´Ù.

   somemethod() {
        ...normal code here...
        AccessController.doPrivileged(new PrivilegedAction() {
            public Object run() {
                // privileged code goes here, for example:
                System.loadLibrary("awt");
                return null; // nothing to return
            }
        });
       ...normal code here...
  }
 

PrivilegedAction ´Â Object ¸¦ µ¹·ÁÁÖ´Â run ¶ó°í ÇÏ´Â ¸Þ¼Òµå¸¦ °¡Áö´Â ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù. »ó±âÀÇ ¿¹´Â ±× ÀÎÅÍÆäÀ̽ºÀÇ ±¸ÇöÀÇ ÀÛ¼º ¹æ¹ýÀ» ³ªÅ¸³»°í ÀÖ½À´Ï´Ù. Áï,run ¸Þ¼ÒµåÀÇ °íÁ¤ ±¸ÇöÀÌ Á¦°øµË´Ï´Ù. doPrivileged °¡ ºÒ·Á °¡¸é(ÀÚ), ±× doPrivileged ¿¡ PrivilegedAction ÀÇ ±¸ÇöÀÇ ÀνºÅϽº°¡ °Ç³×¹Þ½À´Ï´Ù. doPrivileged ¸Þ¼Òµå´Â Ư±ÇÀ» À¯È¿ÇÏ°Ô ÇÑ ÈÄ¿¡ PrivilegedAction ÀÇ ±¸ÇöÀ¸·ÎºÎÅÍ run ¸Þ¼Òµå¸¦ È£ÃâÇØ,run ¸Þ¼ÒµåÀÇ ¹Ýȯ°ªÀ» doPrivileged ÀÇ ¹Ýȯ°ª (»ó±âÀÇ ¿¹¿¡¼­´Â ¹«½ÃµÇ°í ÀÖ´Ù)À¸·Î¼­ µ¹·ÁÁÝ´Ï´Ù.

°ªÀ» µ¹·ÁÁÙ Çʿ䰡 ÀÖ´Â °æ¿ì¿¡´Â ´ÙÀ½°ú °°ÀÌ ±â¼úÇÕ´Ï´Ù.

   somemethod() {
        ...normal code here...
        String user = (String) AccessController.doPrivileged(
          new PrivilegedAction() {
            public Object run() {
                return System.getProperty("user.name");
            }
          }
        );
        ...normal code here...
  }
 

run ¸Þ¼Òµå·Î ½ÇÇàÇÑ ¾×¼ÇÀÌ ¡¸È®ÀÎÁ¦¡¹¿¹¿Ü (¸Þ¼ÒµåÀÇ throws Àý¿¡ Ç¥½ÃµÇ°í ÀÖ´Â ¿¹¿Ü)¸¦ ½½·Î¿ì ÇÒ °¡´É¼ºÀÌ ÀÖ´Â °æ¿ì¿¡´Â PrivilegedAction ÀÎÅÍÆäÀ̽º ´ë½Å¿¡ PrivilegedExceptionAction ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.

   somemethod() throws FileNotFoundException {
        ...normal code here...
      try {
        FileInputStream fis = (FileInputStream) AccessController.doPrivileged(
          new PrivilegedExceptionAction() {
            public Object run() throws FileNotFoundException {
                return new FileInputStream("someFile");
            }
          }
        );
      } catch (PrivilegedActionException e) {
        // e.getException() should be an instance of FileNotFoundException,
        // as only "checked" exceptions will be "wrapped" in a
        // PrivilegedActionException.
        throw (FileNotFoundException) e.getException();
      }
        ...normal code here...
  }
 

Ư±Ç ±¸Á¶ÀÇ »ç¿ë¿¡´Â ¼¼½ÉÀÇ ÁÖÀ§¸¦ ±â¿ï¿©, Ư±Ç ÄÚµå ¼½¼ÇÀ» °¡´ÉÇÑ ÇÑ ÀÛ°Ô ÇØ ÁÖ¼¼¿ä.

checkPermission ´Â Ç×»ó ÇöÀç ½ÇÇàÇϰí ÀÖ´Â threadÀÇ ¹®¸Æ³»¿¡¼­ ½ÃÅ¥·¯Æ¼ üũ¸¦ ½Ç½ÃÇÕ´Ï´Ù. ±×·¯³ª ½ÇÁ¦·Î´Â ÁöÁ¤µÈ ¹®¸Æ³»¿¡¼­ ½Ç½ÃÇÏ´Â ½ÃÅ¥·¯Æ¼ üũ¸¦, ¡¸´Ù¸¥¡¹¹®¸Æ³»·ÎºÎÅÍ (¿¹¸¦ µé¾î, ¿öÅ©½º ·¹µå³»·ÎºÎÅÍ) ½Ç½ÃÇÏÁö ¾ÊÀ¸¸é ¾È µÇ´Â °æ¿ìµµ ÀÖ½À´Ï´Ù. ÀÌ »óȲ¿¡ ´ëÀÀÇϱâ À§Çؼ­,getContext ¸Þ¼Òµå¿Í AccessControlContext Ŭ·¡½º°¡ Á¦°øµÇ°í ÀÖ½À´Ï´Ù. getContext ¸Þ¼Òµå´Â ÇöÀçÀÇ È£ÃâÃø ¹®¸ÆÀÇ ¡¸snapshot¡¹¸¦ ÃëµæÇØ, ÀÌ ¸Þ¼Òµå°¡ µ¹·ÁÁÖ´Â AccessControlContext ¿ÀºêÁ§Æ®¿¡ ±× ¹®¸ÆÀ» ³Ö½À´Ï´Ù. ÀÌÇÏ¿¡, È£ÃâÀÇ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.

 
   AccessControlContext acc = AccessController.getContext()
 
 

AccessControlContext ¿¡´Â ÇöÀç ½ÇÇàÁßÀÇ threadÀÇ ¹®¸ÆÀº ¾Æ´Ï°í, AccessControlContext °¡ ĸ½¶È­ÇÏ´Â ¹®¸Æ¿¡ ±Ù°ÅÇØ, ¾×¼¼½º¸¦ °áÁ¤ÇÏ´Â checkPermission ¸Þ¼Òµå°¡ ÀÖ½À´Ï´Ù. µû¶ó¼­, ´Ù¸¥ ¹®¸Æ³»ÀÇ ÄÚµå´Â ÀÌÀü¿¡ º¸Á¸ÇÑ AccessControlContext ¿ÀºêÁ§Æ®ÀÇ checkPermission ¸Þ¼Òµå¸¦ È£ÃâÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ÀÌÇÏ¿¡, È£ÃâÀÇ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.

 
   acc.checkPermission(permission)
 
 

¶Ç, ¹®¸ÆÀ» ¾î´À ¾×¼¼½º±ÇÀ¸·Î °Ë»çÇÒÁö°¡, »çÀü¿¡´Â ºÒ¸íÇÑ °æ¿ì°¡ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ °æ¿ì¿¡´Â ¹®¸ÆÀ» °ªÀ¸·Î ÇØ¼­ ¹Þ´Â doPrivileged ¸Þ¼Òµå¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

   somemethod() {
         AccessController.doPrivileged(new PrivilegedAction() {
              public Object run() {
                 // Code goes here.  Any permission checks within this
                 // run method will require that the intersection of the
                 // callers protection domain and the snapshot's
                 // context have the desired permission.
              }
         }, acc);
         ...normal code here...
   }
 

°ü·Ã Ç׸ñ:
AccessControlContext

¸Þ¼ÒµåÀÇ °³¿ä
static void checkPermission (Permission  perm)
          ÇöÀç À¯È¿ÇÑ ½ÃÅ¥·¯Æ¼ Æú¸®½Ã¿¡ ±Ù°ÅÇØ, ÁöÁ¤µÈ ¾×¼¼½º±Ç¿¡ ÀÇÇØ ³ªÅ¸³ª´Â ¾×¼¼½º ¿ä±¸°¡ Çã°¡µÇ´ÂÁö °ÅºÎµÉ±î¸¦ °áÁ¤ÇÕ´Ï´Ù.
static Object doPrivileged (PrivilegedAction  action)
          À¯È¿ÇÏ°Ô µÈ Ư±ÇÀ» »ç¿ëÇØ, ÁöÁ¤µÈ PrivilegedAction ¸¦ ½ÇÇàÇÕ´Ï´Ù.
static Object doPrivileged (PrivilegedAction  action, AccessControlContext  context)
          ÁöÁ¤µÈ AccessControlContext ¿¡ ÀÇÇØ À¯È¿ÇÏ°Ô µÇ¾î, ÇÑÆí Á¦ÇѵǴ Ư±ÇÀ» »ç¿ëÇØ, ÁöÁ¤µÈ PrivilegedAction ¸¦ ½ÇÇàÇÕ´Ï´Ù.
static Object doPrivileged (PrivilegedExceptionAction  action)
          À¯È¿ÇÏ°Ô µÈ Ư±ÇÀ» »ç¿ëÇØ, ÁöÁ¤µÈ PrivilegedExceptionAction ¸¦ ½ÇÇàÇÕ´Ï´Ù.
static Object doPrivileged (PrivilegedExceptionAction  action, AccessControlContext  context)
          ÁöÁ¤µÈ AccessControlContext ¿¡ ÀÇÇØ À¯È¿ÇÏ°Ô µÇ¾î, ÇÑÆí Á¦ÇѵǴ Ư±ÇÀ» »ç¿ëÇØ, ÁöÁ¤µÈ PrivilegedExceptionAction ¸¦ ½ÇÇàÇÕ´Ï´Ù.
static AccessControlContext getContext ()
          ÇöÀçÀÇ threadÀÇ °è½ÂµÈ AccessControlContext ¸¦ Æ÷ÇÔÇÑ, ÇöÀçÀÇ È£ÃâÃø ¹®¸ÆÀÇ ¡¸snapshot¡¹¸¦ ÃëµæÇØ, AccessControlContext ¿ÀºêÁ§Æ®¿¡ ¹èÄ¡ÇÕ´Ï´Ù.
 
Ŭ·¡½º java.lang. Object ¿¡¼­ »ó¼Ó¹ÞÀº ¸Þ¼Òµå
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

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

doPrivileged

public static Object  doPrivileged(PrivilegedAction  action)
À¯È¿ÇÏ°Ô µÈ Ư±ÇÀ» »ç¿ëÇØ, ÁöÁ¤µÈ PrivilegedAction ¸¦ ½ÇÇàÇÕ´Ï´Ù. ¾×¼ÇÀº È£ÃâÃøÀÇ º¸È£ area·Î ¼ÒÀ¯Çϰí ÀÖ´Â ¡¸¸ðµç¡¹¾×¼¼½º±ÇÀ» »ç¿ëÇØ ½ÇÇàµË´Ï´Ù.

¾×¼ÇÀÇ run ¸Þ¼Òµå°¡ ¹ÌÈ®ÀÎÀÇ ¿¹¿Ü¸¦ ½½·Î¿ì Çϸé(ÀÚ), ¿¹¿Ü´Â ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇØ º¸³»Áý´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
action - ½ÇÇàµÇ´Â ¾×¼Ç
¹Ýȯ°ª:
¾×¼ÇÀÇ run ¸Þ¼Òµå¿¡ ÀÇÇØ µ¹·ÁÁÖ¾îÁö´Â °ª
°ü·Ã Ç׸ñ:
doPrivileged(PrivilegedAction, AccessControlContext) , doPrivileged(PrivilegedExceptionAction)

doPrivileged

public static Object  doPrivileged(PrivilegedAction  action,
                                  AccessControlContext  context)
ÁöÁ¤µÈ AccessControlContext ¿¡ ÀÇÇØ À¯È¿ÇÏ°Ô µÇ¾î, ÇÑÆí Á¦ÇѵǴ Ư±ÇÀ» »ç¿ëÇØ, ÁöÁ¤µÈ PrivilegedAction ¸¦ ½ÇÇàÇÕ´Ï´Ù. ¾×¼ÇÀº È£ÃâÃøÀÇ º¸È£ area·Î ¼ÒÀ¯Çϰí ÀÖ´Â ¾×¼¼½º±Ç°ú ÁöÁ¤µÈ AccessControlContext ¿¡ ÀÇÇØ ³ªÅ¸³»Áö´Â area·Î ¼ÒÀ¯Çϰí ÀÖ´Â ¾×¼¼½º±ÇÀÇ °øÅë ºÎºÐÀ» »ç¿ëÇØ ½ÇÇàµË´Ï´Ù.

¾×¼ÇÀÇ run ¸Þ¼Òµå°¡ ¹ÌÈ®ÀÎÀÇ ¿¹¿Ü¸¦ ½½·Î¿ì Çϸé(ÀÚ), ¿¹¿Ü´Â ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇØ º¸³»Áý´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
action - ½ÇÇàµÇ´Â ¾×¼Ç
context - ÁöÁ¤µÈ ¾×¼ÇÀÇ ½ÇÇàÀü¿¡, È£ÃâÃøÀÇ areaÀÇ Æ¯±Ç¿¡ Àû¿ëµÇ´Â Á¦ÇÑÀ» ³ªÅ¸³»´Â ¡¸¾×¼¼½º Á¦¾î ¹®¸Æ¡¹
¹Ýȯ°ª:
¾×¼ÇÀÇ run ¸Þ¼Òµå¿¡ ÀÇÇØ µ¹·ÁÁÖ¾îÁö´Â °ª
°ü·Ã Ç׸ñ:
doPrivileged(PrivilegedAction) , doPrivileged(PrivilegedExceptionAction, AccessControlContext)

doPrivileged

public static Object  doPrivileged(PrivilegedExceptionAction  action)
                           throws PrivilegedActionException 
À¯È¿ÇÏ°Ô µÈ Ư±ÇÀ» »ç¿ëÇØ, ÁöÁ¤µÈ PrivilegedExceptionAction ¸¦ ½ÇÇàÇÕ´Ï´Ù. ¾×¼ÇÀº È£ÃâÃøÀÇ º¸È£ area·Î ¼ÒÀ¯Çϰí ÀÖ´Â ¡¸¸ðµç¡¹¾×¼¼½º±ÇÀ» »ç¿ëÇØ ½ÇÇàµË´Ï´Ù.

¾×¼ÇÀÇ run ¸Þ¼Òµå°¡ ¡¸¹ÌÈ®ÀΡ¹ÀÇ ¿¹¿Ü¸¦ ½½·Î¿ì Çϸé(ÀÚ), ¿¹¿Ü´Â ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇØ º¸³»Áý´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
action - ½ÇÇàµÇ´Â ¾×¼Ç
¹Ýȯ°ª:
¾×¼ÇÀÇ run ¸Þ¼Òµå¿¡ ÀÇÇØ µ¹·ÁÁÖ¾îÁö´Â °ª
¿¹¿Ü:
PrivilegedActionException - ÁöÁ¤µÈ ¾×¼ÇÀÇ run ¸Þ¼Òµå°¡ ¡¸È®ÀÎÁ¦¡¹ÀÇ ¿¹¿Ü¸¦ ½½·Î¿ì ÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
doPrivileged(PrivilegedAction) , doPrivileged(PrivilegedExceptionAction, AccessControlContext)

doPrivileged

public static Object  doPrivileged(PrivilegedExceptionAction  action,
                                  AccessControlContext  context)
                           throws PrivilegedActionException 
ÁöÁ¤µÈ AccessControlContext ¿¡ ÀÇÇØ À¯È¿ÇÏ°Ô µÇ¾î, ÇÑÆí Á¦ÇѵǴ Ư±ÇÀ» »ç¿ëÇØ, ÁöÁ¤µÈ PrivilegedExceptionAction ¸¦ ½ÇÇàÇÕ´Ï´Ù. ¾×¼ÇÀº È£ÃâÃøÀÇ º¸È£ area·Î ¼ÒÀ¯Çϰí ÀÖ´Â ¾×¼¼½º±Ç°ú ÁöÁ¤µÈ AccessControlContext ¿¡ ÀÇÇØ ³ªÅ¸³»Áö´Â area·Î ¼ÒÀ¯Çϰí ÀÖ´Â ¾×¼¼½º±ÇÀÇ °øÅë ºÎºÐÀ» »ç¿ëÇØ ½ÇÇàµË´Ï´Ù.

¾×¼ÇÀÇ run ¸Þ¼Òµå°¡ ¡¸¹ÌÈ®ÀΡ¹ÀÇ ¿¹¿Ü¸¦ ½½·Î¿ì Çϸé(ÀÚ), ¿¹¿Ü´Â ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇØ º¸³»Áý´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
action - ½ÇÇàµÇ´Â ¾×¼Ç
context - ÁöÁ¤µÈ ¾×¼ÇÀÇ ½ÇÇàÀü¿¡, È£ÃâÃøÀÇ areaÀÇ Æ¯±Ç¿¡ Àû¿ëµÇ´Â Á¦ÇÑÀ» ³ªÅ¸³»´Â ¡¸¾×¼¼½º Á¦¾î ¹®¸Æ¡¹
¹Ýȯ°ª:
¾×¼ÇÀÇ run ¸Þ¼Òµå¿¡ ÀÇÇØ µ¹·ÁÁÖ¾îÁö´Â °ª
¿¹¿Ü:
PrivilegedActionException - ÁöÁ¤µÈ ¾×¼ÇÀÇ run ¸Þ¼Òµå°¡ ¡¸È®ÀÎÁ¦¡¹ÀÇ ¿¹¿Ü¸¦ ½½·Î¿ì ÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
doPrivileged(PrivilegedAction) , doPrivileged(PrivilegedExceptionAction, AccessControlContext)

getContext

public static AccessControlContext  getContext()
ÇöÀçÀÇ threadÀÇ °è½ÂµÈ AccessControlContext ¸¦ Æ÷ÇÔÇÑ, ÇöÀçÀÇ È£ÃâÃø ¹®¸ÆÀÇ ¡¸snapshot¡¹¸¦ ÃëµæÇØ, AccessControlContext ¿ÀºêÁ§Æ®¿¡ ¹èÄ¡ÇÕ´Ï´Ù. ÀÌ ¹®¸ÆÀº ³ªÁß¿¡ ´Ù¸¥ threadµîÀ¸·Î °Ë»çµÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.

¹Ýȯ°ª:
ÇöÀçÀÇ ¹®¸Æ¿¡ ±Ù°ÅÇÏ´Â AccessControlContext
°ü·Ã Ç׸ñ:
AccessControlContext

checkPermission

public static void checkPermission(Permission  perm)
                            throws AccessControlException 
ÇöÀç À¯È¿ÇÑ ½ÃÅ¥·¯Æ¼ Æú¸®½Ã¿¡ ±Ù°ÅÇØ, ÁöÁ¤µÈ ¾×¼¼½º±Ç¿¡ ÀÇÇØ ³ªÅ¸³ª´Â ¾×¼¼½º ¿ä±¸°¡ Çã°¡µÇ´ÂÁö °ÅºÎµÉ±î¸¦ °áÁ¤ÇÕ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â ¾×¼¼½º ¿ä±¸°¡ Çã°¡µÇ´Â °æ¿ì¿¡´Â ¾Æ¹«°Íµµ ÇÏÁö ¾Ê°í º¹±ÍÇØ, ±×·¸Áö ¾ÊÀº °æ¿ì¿¡´Â ÀûÀýÇÑ AccessControlException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
perm - ¿ä±¸ ¾×¼¼½º±Ç
¿¹¿Ü:
AccessControlException - ÇöÀçÀÇ ½ÃÅ¥·¯Æ¼ Æú¸®½Ã¿¡ ±Ù°ÅÇØ, ÁöÁ¤µÈ ¾×¼¼½º±ÇÀÌ Çã°¡µÇÁö ¾Ê´Â °æ¿ì

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.