|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
java.lang.Objectjava.security.AccessController
public final class AccessController
AccessController Ŭ·¡½º´Â ¾×¼¼½º Á¦¾îÀÇ Á¶ÀÛ°ú °áÁ¤¿¡ »ç¿ëµË´Ï´Ù.
±¸Ã¼ÀûÀ¸·Î´Â AccessController Ŭ·¡½º¸¦ ´ÙÀ½ÀÇ 3°³ÀÇ ¸ñÀûÀ¸·Î »ç¿ëÇÕ´Ï´Ù.
checkPermission
¸Þ¼µå´Â ÁöÁ¤ÇÑ Á¢±Ù ±ÇÇÑ¿¡ ÀÇÇØ ³ªÅ¸³ª´Â ¾×¼¼½º ¿ä±¸°¡ Çã°¡µÇ´ÂÁö, °ÅºÎµÉ±î¸¦ °áÁ¤ÇÕ´Ï´Ù. È£ÃâÀÇ ¿¹¸¦ ´ÙÀ½¿¡ ³ªÅ¸³À´Ï´Ù. ÀÌ ¿¹¿¡¼´Â checkPermission
´Â
/temp µð·ºÅ丮ÀÇ testFile ¶ó°í ÇÏ´Â ÆÄÀÏ¿¡ÀÇ Àбâ
±ÇÀ» Çã°¡ÇÒÁö ¾î¶³Áö¸¦ °áÁ¤ÇÕ´Ï´Ù.
FilePermission perm = new FilePermission("/temp/testFile", "read"); AccessController.checkPermission(perm);
¿ä±¸µÈ ¾×¼¼½º°¡ Çã°¡µÇ´Â °æ¿ì¿¡´Â checkPermission
´Â ¾Æ¹«°Íµµ ÇÏÁö ¾Ê°í º¹±ÍÇÕ´Ï´Ù. ¾×¼¼½º°¡ °ÅºÎµÇ´Â °æ¿ì¿¡´Â AccessControlException°¡ ¹ß»ý µË´Ï´Ù. AccessControlException´Â
¿ä±¸µÈ Á¢±Ù ±ÇÇÑÀÌ ºÎÁ¤ÇÑ ÇüÅÂÀ̰ųª ¹«È¿ÀÎ °ªÀ» Æ÷ÇÔÇØ Àְųª ÇßÀ» °æ¿ì¿¡µµ Throw µÉ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. °¡´ÉÇÑ °æ¿ì¿¡´Â ±×·¯ÇÑ Á¤º¸°¡ Á¦°øµË´Ï´Ù. ¿©±â¼, ÇöÀçÀÇ thread°¡ m°³ÀÇ È£Ãâ¿øÀ» È£Ãâ¿ø 1 À¸·ÎºÎÅÍ ½ÃÀÛÇØ È£ÃâÇØ ¿ø m ±îÁö ó¸®ÇØ, È£Ãâ¿ø m°¡ checkPermission
¸Þ¼µå¸¦ È£ÃâÇß´Ù°í ÇÕ´Ï´Ù. ÀÌ ¶§, checkPermission
¸Þ¼µå´Â ´ÙÀ½ÀÇ ¾Ë°í¸®Áò¿¡ ±â¹ÝÇØ
¾×¼¼½º°¡ Çã°¡µÉ±î °ÅºÎµÉ±î¸¦ °áÁ¤ÇÕ´Ï´Ù.
i = m; while (i > 0) { if (caller i's domain does not have the permission) throw AccessControlException else if (caller i is marked as privileged) { if (a context was specified in the call to 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
È£Ãâ¿¡ ÀÇÇØ Ư±Ç ÄÚµå·Î¼ ¸¶Å© µÈ È£Ãâ Ãø¿¡ ´ê¾ÒÀ» ¶§¿¡
°Ë»ç¸¦ ÁßÁöÇÕ´Ï´Ù (ÄÁÅØ½ºÆ®
Àμö¿¡ ´ëÇØ¼´Â ¾Æ·¡ÀÇ ¼³¸íÀ» ÂüÁ¶). ±× È£ÃâÃøÀÇ ¿µ¿ªÀ¸·Î ÁöÁ¤µÈ Á¢±Ù ±ÇÇÑÀÌ ÀÖ´Â °æ¿ì, ÀÌÈÄÀÇ °Ë»ç´Â ÇàÇØÁöÁö ¾Ê°í, checkPermission
´Â ¾Æ¹«°Íµµ ÇÏÁö ¾Ê°í º¹±ÍÇØ, ¿ä±¸ÇÑ ¾×¼¼½º°¡ Çã°¡µÈ °ÍÀ» ³ªÅ¸³À´Ï´Ù. ±× ¿µ¿ªÀ¸·Î ÁöÁ¤µÈ Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì¿¡´Â º¸Åë
´ë·Î ¿¹¿Ü°¡ ¹ß»ý µË´Ï´Ù.
ÀÌÇÏ¿¡ Ư±Ç ±â´ÉÀÇ º¸Åë ÀÇ »ç¿ë¹ýÀ» ¼³¸íÇÕ´Ï´Ù. Ư±Ç ºí·Ï³»·ÎºÎÅÍ °ªÀ» µ¹·ÁÁÙ Çʿ䰡 ¾ø´Â °æ¿ì¿¡´Â ´ÙÀ½°ú °°ÀÌ ±â¼úÇÕ´Ï´Ù.
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
Àý¿¡ ±âÀçµÇ¾î ÀÖ´Â ¿¹¿Ü)¸¦ Throw ÇÒ °¡´É¼ºÀÌ ÀÖ´Â °æ¿ì¿¡´Â 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
|
doPrivileged (PrivilegedAction <T> action)
À¯È¿ÇÏ°Ô µÈ Ư±ÇÀ» »ç¿ëÇØ, ÁöÁ¤µÈ PrivilegedAction À»
½ÇÇàÇÕ´Ï´Ù. |
|
static
|
doPrivileged (PrivilegedAction <T> action,
AccessControlContext context)
ÁöÁ¤µÈ AccessControlContext ¿¡ ÀÇÇØ À¯È¿ÇÏ°Ô µÇ¾î, ÇÑÆí Á¦ÇѵǴ Ư±ÇÀ» »ç¿ëÇØ, ÁöÁ¤µÈ PrivilegedAction À»
½ÇÇàÇÕ´Ï´Ù. |
|
static
|
doPrivileged (PrivilegedExceptionAction <T> action)
À¯È¿ÇÏ°Ô µÈ Ư±ÇÀ» »ç¿ëÇØ, ÁöÁ¤µÈ PrivilegedExceptionAction À»
½ÇÇàÇÕ´Ï´Ù. |
|
static
|
doPrivileged (PrivilegedExceptionAction <T> 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 |
¸Þ¼µåÀÇ »ó¼¼ |
---|
public static <T> T doPrivileged(PrivilegedAction <T> action)
PrivilegedAction
À»
½ÇÇàÇÕ´Ï´Ù. ¾×¼ÇÀº È£ÃâÃøÀÇ º¸È£ ¿µ¿ª¿¡¼ ¼ÒÀ¯Çϰí ÀÖ´Â ¡¸¸ðµç¡¹Á¢±Ù ±ÇÇÑÀ» »ç¿ëÇØ ½ÇÇàµË´Ï´Ù.
¾×¼ÇÀÇ run
¸Þ¼µå°¡ üũµÇÁö ¾Ê´Â ¿¹¿Ü¸¦ Throw Çϸé, ¿¹¿Ü´Â ÀÌ ¸Þ¼µå¸¦ »ç¿ëÇØ º¸³»Áý´Ï´Ù.
action
- ½ÇÇàµÇ´Â ¾×¼Ç
run
¸Þ¼µå¿¡ ÀÇÇØ ¸®ÅϵÈ
°ª
NullPointerException
- ¾×¼ÇÀÌ null
ÀÎ °æ¿ìdoPrivileged(PrivilegedAction, AccessControlContext)
,
doPrivileged(PrivilegedExceptionAction)
public static <T> T doPrivileged(PrivilegedAction <T> action, AccessControlContext context)
AccessControlContext
¿¡ ÀÇÇØ À¯È¿ÇÏ°Ô µÇ¾î, ÇÑÆí Á¦ÇѵǴ Ư±ÇÀ» »ç¿ëÇØ, ÁöÁ¤µÈ PrivilegedAction
À»
½ÇÇàÇÕ´Ï´Ù. ¾×¼ÇÀº È£ÃâÃøÀÇ º¸È£ ¿µ¿ª¿¡¼ ¼ÒÀ¯Çϰí ÀÖ´Â Á¢±Ù ±ÇÇѰú ÁöÁ¤µÈ AccessControlContext
¿¡ ÀÇÇØ ³ªÅ¸³»Áö´Â ¿µ¿ª¿¡¼ ¼ÒÀ¯Çϰí ÀÖ´Â Á¢±Ù ±ÇÇÑÀÇ °øÅë ºÎºÐÀ» »ç¿ëÇØ ½ÇÇàµË´Ï´Ù.
¾×¼ÇÀÇ run
¸Þ¼µå°¡ üũµÇÁö ¾Ê´Â ¿¹¿Ü¸¦ Throw Çϸé, ¿¹¿Ü´Â ÀÌ ¸Þ¼µå¸¦ »ç¿ëÇØ º¸³»Áý´Ï´Ù.
action
- ½ÇÇàµÇ´Â ¾×¼Çcontext
- ÁöÁ¤µÈ ¾×¼ÇÀÇ ½ÇÇàÀü¿¡ È£ÃâÇØ ¿·ÀÇ ¿µ¿ªÀÇ Æ¯±Ç¿¡ Àû¿ëÇØ¾ß ÇÒ Á¦ÇÑÀ» ³ªÅ¸³»´Â ¡¸¾×¼¼½º Á¦¾î ÄÁÅØ½ºÆ®
¡¹. context°¡ null
ÀÎ °æ¿ì, Ãß°¡ÀÇ Á¦ÇÑÀº Àû¿ëµÇÁö ¾Ê´Â´Ù
run
¸Þ¼µå¿¡ ÀÇÇØ ¸®ÅϵÈ
°ª
NullPointerException
- ¾×¼ÇÀÌ null
ÀÎ °æ¿ìdoPrivileged(PrivilegedAction)
,
doPrivileged(PrivilegedExceptionAction, AccessControlContext)
public static <T> T doPrivileged(PrivilegedExceptionAction <T> action) throws PrivilegedActionException
PrivilegedExceptionAction
À»
½ÇÇàÇÕ´Ï´Ù. ¾×¼ÇÀº È£ÃâÃøÀÇ º¸È£ ¿µ¿ª¿¡¼ ¼ÒÀ¯Çϰí ÀÖ´Â ¡¸¸ðµç¡¹Á¢±Ù ±ÇÇÑÀ» »ç¿ëÇØ ½ÇÇàµË´Ï´Ù.
¾×¼ÇÀÇ run
¸Þ¼µå°¡ ¡¸Ã¼Å©µÇÁö ¾Ê´Â´Ù¡¹¿¹¿Ü¸¦ Throw Çϸé, ¿¹¿Ü´Â ÀÌ ¸Þ¼µå¸¦ »ç¿ëÇØ º¸³»Áý´Ï´Ù.
action
- ½ÇÇàµÇ´Â ¾×¼Ç
run
¸Þ¼µå¿¡ ÀÇÇØ ¸®ÅϵÈ
°ª
PrivilegedActionException
- ÁöÁ¤µÈ ¾×¼ÇÀÇ run
¸Þ¼µå°¡ ¡¸Ã¼Å©µÈ´Ù¡¹¿¹¿Ü¸¦ Throw ÇßÀ» °æ¿ì
NullPointerException
- ¾×¼ÇÀÌ null
ÀÎ °æ¿ìdoPrivileged(PrivilegedAction)
,
doPrivileged(PrivilegedExceptionAction, AccessControlContext)
public static <T> T doPrivileged(PrivilegedExceptionAction <T> action, AccessControlContext context) throws PrivilegedActionException
AccessControlContext
¿¡ ÀÇÇØ À¯È¿ÇÏ°Ô µÇ¾î, ÇÑÆí Á¦ÇѵǴ Ư±ÇÀ» »ç¿ëÇØ, ÁöÁ¤µÈ PrivilegedExceptionAction
À»
½ÇÇàÇÕ´Ï´Ù. ¾×¼ÇÀº È£ÃâÃøÀÇ º¸È£ ¿µ¿ª¿¡¼ ¼ÒÀ¯Çϰí ÀÖ´Â Á¢±Ù ±ÇÇѰú ÁöÁ¤µÈ AccessControlContext
¿¡ ÀÇÇØ ³ªÅ¸³»Áö´Â ¿µ¿ª¿¡¼ ¼ÒÀ¯Çϰí ÀÖ´Â Á¢±Ù ±ÇÇÑÀÇ °øÅë ºÎºÐÀ» »ç¿ëÇØ ½ÇÇàµË´Ï´Ù.
¾×¼ÇÀÇ run
¸Þ¼µå°¡ ¡¸Ã¼Å©µÇÁö ¾Ê´Â´Ù¡¹¿¹¿Ü¸¦ Throw Çϸé, ¿¹¿Ü´Â ÀÌ ¸Þ¼µå¸¦ »ç¿ëÇØ º¸³»Áý´Ï´Ù.
action
- ½ÇÇàµÇ´Â ¾×¼Çcontext
- ÁöÁ¤µÈ ¾×¼ÇÀÇ ½ÇÇàÀü¿¡ È£ÃâÇØ ¿·ÀÇ ¿µ¿ªÀÇ Æ¯±Ç¿¡ Àû¿ëÇØ¾ß ÇÒ Á¦ÇÑÀ» ³ªÅ¸³»´Â ¡¸¾×¼¼½º Á¦¾î ÄÁÅØ½ºÆ®
¡¹. context°¡ null
ÀÎ °æ¿ì, Ãß°¡ÀÇ Á¦ÇÑÀº Àû¿ëµÇÁö ¾Ê´Â´Ù
run
¸Þ¼µå¿¡ ÀÇÇØ ¸®ÅϵÈ
°ª
PrivilegedActionException
- ÁöÁ¤µÈ ¾×¼ÇÀÇ run
¸Þ¼µå°¡ ¡¸Ã¼Å©µÈ´Ù¡¹¿¹¿Ü¸¦ Throw ÇßÀ» °æ¿ì
NullPointerException
- ¾×¼ÇÀÌ null
ÀÎ °æ¿ìdoPrivileged(PrivilegedAction)
,
doPrivileged(PrivilegedExceptionAction, AccessControlContext)
public static AccessControlContext getContext()
AccessControlContext
public static void checkPermission(Permission perm) throws AccessControlException
perm
- ¿ä±¸ Á¢±Ù ±ÇÇÑ
AccessControlException
- ÇöÀçÀÇ ½ÃÅ¥·¯Æ¼ Á¤Ã¥¿¡ ±â¹ÝÇØ
ÁöÁ¤µÈ Á¢±Ù ±ÇÇÑÀÌ Çã°¡µÇÁö ¾Ê´Â °æ¿ì
NullPointerException
- ÁöÁ¤µÈ Á¢±Ù ±ÇÇÑÀÌ null
À̸ç, ±× Á¢±Ù ±ÇÇÑÀÌ ÇöÀç À¯È¿ÇÑ ½ÃÅ¥·¯Æ¼ Á¤Ã¥¿¡ ±Ù°ÅÇØ üũµÇ¾úÀ» °æ¿ì
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.