|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
| °³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | |||||||||
java.lang.Objectjava.lang.SecurityManager
public class SecurityManager
½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú´Â ¾îÇø®ÄÉÀ̼ÇÀ¸·Î ½ÃÅ¥·¯Æ¼ Á¤Ã¥¸¦ ±¸ÇöÇÒ ¼ö ÀÖµµ·Ï Çϴ Ŭ·¡½ºÀÔ´Ï´Ù. ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú¸¦ »ç¿ëÇϸé, ½ÃÅ¥·¯Æ¼¸¦ ÇØÄ¡´Â ¿ì·Á°¡ ÀÖ´Â Á¶ÀÛÀ» ½ÇÇàÇϱâ Àü¿¡ Á¶ÀÛÀÌ ¹«¾ùÀ¸·Î Àִ°¡ ÇÏ´Â °ÍÀ¸·Î ½ÃÅ¥·¯Æ¼ ÄÁÅØ½ºÆ® ³»¿¡¼ ±× Á¶ÀÛÀÇ ½ÇÇàÀÌ Çã°¡µÇ°í ÀÖ´ÂÁö ¾î¶²Áö°¡ ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ ÆÇ´ÜÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀº ±×·¯ÇÑ Á¶ÀÛÀ» ±ÝÁöÇϰųª Çã°¡Çϰųª ÇÒ ¼ö ÀÖ½À´Ï´Ù .
SecurityManager Ŭ·¡½º¿¡´Â À̸§ÀÌ check ¶ó°í ÇÏ´Â ¹®ÀÚ·Î ½ÃÀ۵Ǵ ¸Þ¼µå°¡ ¸¹ÀÌ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¸Þ¼µå´Â Java ¶óÀ̺귯¸®³»ÀÇ °¢Á¾ ¸Þ¼µå¿¡ÀÇÇØ ½ÃÅ¥·¯Æ¼¸¦ ÇØÄ¥ °¡´É¼ºÀÌ ÀÖ´Â Á¶ÀÛÀ» ½ÇÇàÇϱâ Àü¿¡ È£ÃâÇÕ´Ï´Ù. ÀÌ·¯ÇÑ check ¸Þ¼µå È£ÃâÀÇ ÀϹÝÀûÀÎ ¿¹¸¦ ´ÙÀ½¿¡ ³ªÅ¸³À´Ï´Ù.
SecurityManager security = System.getSecurityManager(); if (security ! = null) { security.checkXXX(argument, . . . ); }
½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú¿¡´Â ¿¹¿ÜÀÇ Throw¿¡¼ÀÇ Á¶ÀÛ ¿Ï·á¸¦ ¸·À» ±âȸ°¡ ÁÖ¾îÁý´Ï´Ù. ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú ·çƾÀº Á¶ÀÛÀÌ Çã°¡µÇ´Â °æ¿ì´Â ¾Æ¹«°Íµµ ½Ç½ÃÇÏÁö ¾Ê°í º¹±ÍÇÕ´Ï´Ù. Á¶ÀÛÀÌ Çã°¡µÇÁö ¾Ê´Â °æ¿ì´Â SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. ´Ù¸¸, checkTopLevelWindow´Â ÀÌ·¯ÇÑ ±Ô¾àÀÇ À¯ÀÏÇÑ ¿¹¿Ü·Îboolean°ªÀ» ¸®ÅÏÇÕ´Ï´Ù.
ÇöÀçÀÇ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú¸¦ ¼³Á¤ÇÏ·Á¸é,
System Ŭ·¡½ºÀÇ setSecurityManager ¸Þ¼µå¸¦ »ç¿ëÇÕ´Ï´Ù. ÇöÀçÀÇ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú¸¦ ÃëµæÇÏ·Á¸é getSecurityManager ¸Þ¼µå¸¦ »ç¿ëÇÕ´Ï´Ù.
ÁöÁ¤µÈ Á¢±Ù ±ÇÇÑÀÌ °¡¸®Å°´Â ¾×¼¼½º ¿ä±¸°¡ Çã°¡µÉÁö ¾î¶³Áö¸¦ Á¶»çÇÏ·Á¸é,
Ưº°ÇÑ ¸Þ¼µå checkPermission(java.security.Permission)¸¦
»ç¿ëÇÕ´Ï´Ù. µðÆúÆ®ÀÇ ±¸Çö¿¡¼´Â ´ÙÀ½ÀÇ ¸Þ¼µå°¡ È£ÃâµË´Ï´Ù.
AccessController.checkPermission(perm);
¿ä±¸µÈ ¾×¼¼½º°¡ Çã°¡µÇ´Â °æ¿ì, checkPermission´Â ±×´ë·Î º¹±ÍÇÕ´Ï´Ù. Çã°¡µÇÁö ¾Ê´Â °æ¿ì´Â SecurityException°¡ ¹ß»ý µË´Ï´Ù.
Java 2 SDK v1. 2
SecurityManager¿¡ ÀÖ´Â ±× ¿ÜÀÇ check °è ¸Þ¼µåÀÇ µðÆúÆ®ÀÇ ±¸Çö¿¡¼´Â SecurityManager
checkPermission ¸Þ¼µå°¡ È£ÃâµË´Ï´Ù. ÀÌ ¹æ¹ýÀ¸·Î ¿ä±¸µÈ Á¶ÀÛÀÇ ½ÇÇà¿¡ ÇÊ¿äÇÑ Á¢±Ù ±ÇÇÑÀÌ È£ÃâÇØ ¿·thread¿¡ ÀÖÀ»Áö ¾î¶³Áö¸¦ Á¶»çÇÕ´Ï´Ù.
Á¢±Ù ±ÇÇÑÀÇ Àμö°¡ 1°³
¸¸ÀÇ checkPermission ¸Þ¼µå´Â Ç×»ó, ÇöÀç ½ÇÇàÁßÀÇ threadÀÇ ÄÁÅØ½ºÆ®
³»¿¡¼¸¸ ½ÃÅ¥·¯Æ¼ üũ¸¦ ½ÇÇàÇÕ´Ï´Ù. ÁöÁ¤µÈ ÄÁÅØ½ºÆ®
³»¿¡¼ ½ÇÇàÇÒ Çʿ䰡 ÀÖ´Â ½ÃÅ¥·¯Æ¼ üũ¸¦, ½ÇÁ¦·Î´Â ¿öÄ«½º·¹µå µî ¡¸´Ù¸¥¡¹ÄÁÅØ½ºÆ®
³»¿¡¼ ½ÇÇàÇÏ´Â °ÍÀÌ ÇÊ¿äÇÑ °æ¿ìµµ ÀÖ½À´Ï´Ù. ÀÌ ¶§¹®¿¡
ÄÁÅØ½ºÆ®
Àμö¸¦ °¡Áö´Â getSecurityContext ¸Þ¼µå ¹× checkPermission ¸Þ¼µå°¡ Á¦°øµÇ°í ÀÖ½À´Ï´Ù. getSecurityContext ¸Þ¼µå´Â ÇöÀçÀÇ È£ÃâÃø ÄÁÅØ½ºÆ®
ÀÇ snapshot¸¦ ¸®ÅÏÇÕ´Ï´Ù. µðÆúÆ®ÀÇ ±¸Çö¿¡¼´Â AccessControlContext °´Ã¼¸¦ ¸®ÅÏÇÕ´Ï´Ù. È£ÃâÀÇ ¿¹¸¦ ´ÙÀ½¿¡ ³ªÅ¸³À´Ï´Ù.
Object context = null; SecurityManager sm = System.getSecurityManager(); if (sm ! = null) context = sm.getSecurityContext();
Á¢±Ù ±ÇÇÑ¿¡ ´õÇØÄÁÅØ½ºÆ®
°´Ã¼µµ ¹Þ´Â checkPermission ¸Þ¼µå´Â ½ÇÇàÁßÀÇ threadÀÇ ÄÁÅØ½ºÆ®Àº ¾Æ´Ï°í, °Ç³×¹ÞÀº ÄÁÅØ½ºÆ®¿¡ µû¶ó ¾×¼¼½º¸¦ ÆÇÁ¤ÇÕ´Ï´Ù. ÀÌ ¶§¹®¿¡
´Ù¸¥ ÄÁÅØ½ºÆ®
³»ÀÇ ÄÚµå´Â Á¢±Ù ±ÇÇѰú Á÷Àü¿¡ º¸Á¸ÇÑ ÄÁÅØ½ºÆ®
°´Ã¼¸¦ °Ç³×ÁÖ´Â °Í¿¡ÀÇÇØ ÀÌ ¸Þ¼µå¸¦ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù
. ´ÙÀ½¿¡ ³ªÅ¸³»´Â È£Ã⿹¿¡¼´Â À§ÀÇ ¿¹·Î ÃëµæÇÑ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú sm¸¦ »ç¿ëÇϰí ÀÖ½À´Ï´Ù.
if (sm ! = null) sm.checkPermission(permission, context);
Á¢±Ù ±ÇÇÑÀº Ä«Å×°í¸® File, Socket, Net, Security, Runtime, Property, AWT, Reflect, Serializable
¾î¶² °ÍÀΰ¡¿¡ ºÐ·ùµË´Ï´Ù. ÀÌ°Íµé °¢Á¾ÀÇ Á¢±Ù ±ÇÇÑ Ä«Å×°í¸®¸¦ °ü¸®Çϴ Ŭ·¡½º´Â java.io.FilePermission, java.net.SocketPermission, java.net.NetPermission, java.security.SecurityPermission, java.lang.RuntimePermission, java.util.PropertyPermission, java.awt.AWTPermission, java.lang.reflect.ReflectPermission ¹× java.io.SerializablePermission ÀÔ´Ï´Ù.
FilePermission¿Í
SocketPermission ÀÌ¿ÜÀÇ Å¬·¡½º´Â java.security.BasicPermission
¼ºê Ŭ·¡½ºÀÔ´Ï´Ù. ÀÌ java.security.BasicPermission ÀÚ½ÅÀº Á¢±Ù ±ÇÇÑÀÇ Åé ·¹º§ÀÎ java.security.Permission
Ãß»ó ¼ºê Ŭ·¡½ºÀÔ´Ï´Ù. BasicPermission´Â
¡¸exitVM¡¹, ¡¸setFactory¡¹, ¡¸queuePrintJob¡¹¶ó°í ÇÑ, °èÃþÀû ÇÁ·ÎÆÛƼ ¸í¸í ±ÔÄ¢¿¡ µû¸£´Â À̸§À» Æ÷ÇÔÇÑ ¸ðµç Á¢±Ù ±ÇÇÑÀ» À§Çؼ ÇÊ¿äÇÑ ±â´ÉÀ» Á¤ÀÇÇÕ´Ï´Ù. À̸§ÀÇ ¸»¹Ì¿¡ ¡¸. *¡¹¶Ç´Â ¡¸*¡¹ÀÌ ÀÖ´Â °æ¿ì´Â ¿Í
Àϵå Ä«µå ¸ÅĪÀ» ³ªÅ¸³À´Ï´Ù. ¿¹¸¦ µé¾î
¡¸a. *¡¹(ÀÌ)³ª ¡¸*¡¹Àº À¯È¿ÇÑ À̸§ÀÔ´Ï´Ù¸¸, ¡¸*a¡¹³ª ¡¸a*b¡¹´Â ¹«È¿ÀÔ´Ï´Ù.
FilePermission¿Í
SocketPermission´Â
Á¢±Ù ±ÇÇÑÀÇ Åé ·¹º§ java.security.Permission
¼ºê Ŭ·¡½ºÀÔ´Ï´Ù. ÀÌ·¯ÇÑ Å¬·¡½º´Â BasicPermission º¸´Ù º¹ÀâÇÑ À̸§ ±¸¹®À» °¡Á®, BasicPermission´Â ¾Æ´Ï°í Permission ·ÎºÎÅÍ Á÷Á¢ »ó¼Ó µË´Ï´Ù. ¿¹¸¦ µé¾î, java.io.FilePermission °´Ã¼ÀÇ °æ¿ì, Á¢±Ù ±ÇÇÑÀÇ À̸§Àº ÆÄÀÏ ¶Ç´Â µð·ºÅ丮ÀÇ ÆÐ½º¸íÀÔ´Ï´Ù.
Á¢±Ù ±ÇÇÑ Å¬·¡½º¾È¿¡´Â °´Ã¼¿¡ Çã°¡µÇ°í ÀÖ´Â ¾×¼ÇÀ» ³ªÅ¸³»´Â ¾×¼Ç ¸®½ºÆ®¸¦ °¡Áö´Â °ÍÀÌ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î java.io.FilePermission °´Ã¼ÀÇ °æ¿ì, ¡¸read, write¡¹¶ó°í ÇÑ ¾×¼Ç ¸®½ºÆ®´Â ƯÁ¤ÀÇ ÆÄÀÏ ¶Ç´Â ÁöÁ¤µÈ µð·ºÅ丮¿¡ ÀÖ´Â ÆÄÀÏ¿¡ ´ëÇØ¼ ½ÇÇàÇÒ ¼ö ÀÖ´Â ¾×¼ÇÀ» ³ªÅ¸³À´Ï´Ù.
±× ¿ÜÀÇ Á¢±Ù ±ÇÇÑ Å¬·¡½º´Â À̸§ÀÌ ºÙÀº Á¢±Ù ±ÇÇÑ (À̸§ ÷ºÎ Á¢±Ù ±ÇÇÑ)¿¡ »ç¿ëÇÕ´Ï´Ù. À̸§ ÷ºÎ Á¢±Ù ±ÇÇÑÀº À̸§Àº °¡Áý´Ï´Ù¸¸, ¾×¼Ç ¸®½ºÆ®¸¦ °¡ÁöÁö ¾Ê½À´Ï´Ù. À̸§ ÷ºÎ Á¢±Ù ±ÇÇÑÀº À־ ¾ø¾îµµ ±¦Âú½À´Ï´Ù.
ÁÖ: ¸ðµç Á¢±Ù ±ÇÇÑÀ» ¾Ï¹¬ÀûÀ¸·Î ÁöÁ¤ÇÏ´Â java.security.AllPermission ¶ó°í ÇÏ´Â Á¢±Ù ±ÇÇѵµ ÀÖ½À´Ï´Ù. À̰ÍÀº ¸ðµç (ȤÀº ¸¹Àº) Á¢±Ù ±ÇÇÑÀ» ¿ä±¸ÇÏ´Â º¹¼öÀÇ Å½ºÅ©¸¦ ½ÇÇàÇÒ Çʿ䰡 ÀÖ´Â ½Ã½ºÅÛ °ü¸® Ã¥ÀÓÀÚÀÇ ÀÛ¾÷À» ´Ü¼øÈÇϱâ À§ÇÑ Á¢±Ù ±ÇÇÑÀÔ´Ï´Ù.
Á¢±Ù ±ÇÇÑ¿¡ °üÇÑ Á¤º¸¿¡ ´ëÇØ¼´Â ¡¸JDK ¿¡¼ÀÇ Á¢±Ù ±ÇÇÑ¡¹À» ÂüÁ¶ÇϽʽÿÀ. ÀÌ ¹®¼¿¡´Â SecurityManager
°¢Á¾ check ¸Þ¼µå³ª, ±×·¯ÇÑ ¸Þ¼µåÀÇ µðÆúÆ®ÀÇ ±¸Çö¿¡ ÇÊ¿äÇÑ Á¢±Ù ±ÇÇÑÀÇ À϶÷Ç¥°¡ ÀÖ½À´Ï´Ù. ¶Ç, Á¢±Ù ±ÇÇÑÀ» ÇÊ¿ä·Î ÇÏ´Â ¹öÀü
1.2
¸ðµç ¸Þ¼µå¿Í °¢ ¸Þ¼µå¿¡ ÇÊ¿äÇÑ Á¢±Ù ±ÇÇÑÀ» Á¤¸®ÇÑ Ç¥µµ ÀÖ½À´Ï´Ù.
JDK ¿¡¼ÀÇ SecurityManager¿¡ °üÇÑ º¯°æÁ¡°ú 1.1 Çü½ÄÀÇ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú¸¦ À̽ÄÇÒ ¶§ÀÇ ¾îµå¹ÙÀ̽º¿¡ ´ëÇØ¼´Â ½ÃÅ¥·¯Æ¼ÀÇ ¹®¼¸¦ ÂüÁ¶ÇϽʽÿÀ.
ClassLoader,
SecurityException,
checkTopLevelWindow,
getSecurityManager,
setSecurityManager,
AccessController,
AccessControlContext,
AccessControlException,
Permission,
BasicPermission,
FilePermission,
SocketPermission,
PropertyPermission,
RuntimePermission,
AWTPermission,
Policy,
SecurityPermission,
ProtectionDomain | ÇÊµå °³¿ä | |
|---|---|
protected boolean |
inCheck
ÃßõÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ Å¸ÀÔÀÇ ½ÃÅ¥·¯Æ¼ üũ´Â Ãßõ µÇÁö ¾Ê½À´Ï´Ù. ´ë½Å¿¡ checkPermission
È£ÃâÀ» »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù. |
| »ý¼ºÀÚ °³¿ä | |
|---|---|
SecurityManager ()
»õ·Î¿î SecurityManager¸¦ ±¸ÃàÇÕ´Ï´Ù. |
|
| ¸Þ¼µå °³¿ä | |
|---|---|
void |
checkAccept (String host,
int port)
ÁöÁ¤µÈ È£½ºÆ®¿Í Æ÷Æ® ¹øÈ£·ÎºÎÅÍÀÇ ¼ÒÄÏ Á¢¼ÓÀ» ¹Þ´Â °ÍÀÌ, È£ÃâÃø thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡ SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
void |
checkAccess (Thread t)
È£ÃâÃøÀÇ thread°¡ thread ÀμöÀÇ ¼öÁ¤À» Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡ SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
void |
checkAccess (ThreadGroup g)
È£ÃâÃøÀÇ thread°¡ thread ±×·ìÀÇ Àμö¸¦ ¼öÁ¤ÇÏ´Â °ÍÀ» Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡ SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
void |
checkAwtEventQueueAccess ()
AWT À̺¥Æ® Å¥¿¡ÀÇ ¾×¼¼½º°¡ È£ÃâÇØ ¿·thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡ SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
void |
checkConnect (String host,
int port)
ÁöÁ¤µÈ È£½ºÆ®¿Í Æ÷Æ® ¹øÈ£¿¡ÀÇ ¼ÒÄÏ Á¢¼ÓÀ» ¿ÀÇÂÇÏ´Â °ÍÀÌ, È£ÃâÃø thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡ SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
void |
checkConnect (String host,
int port,
Object context)
ÁöÁ¤µÈ ½ÃÅ¥·¯Æ¼ ÄÁÅØ½ºÆ®ÀÌ, ÁöÁ¤µÈ È£½ºÆ®¿Í Æ÷Æ® ¹øÈ£¿¡ÀÇ ¼ÒÄÏ Á¢¼ÓÀ» ¿ÀÇÂÇÏ´Â Á¢±Ù ±ÇÇÑÀ» °¡Áö°í ÀÖÁö ¾ÊÀº °æ¿ì¿¡ SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
void |
checkCreateClassLoader ()
È£ÃâÃøÀÇ thread°¡ »õ·Î¿î Ŭ·¡½º ·Î´õÀÇ ÀÛ¼ºÀ» Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡ SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
void |
checkDelete (String file)
ÁöÁ¤µÈ ÆÄÀÏÀ» »èÁ¦ÇÏ´Â °ÍÀÌ È£ÃâÃø thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡ SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
void |
checkExec (String cmd)
¼ºê ÇÁ·Î¼¼½ºÀÇ ÀÛ¼ºÀÌ È£ÃâÇØ ¿·ÀÇ thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡ SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
void |
checkExit (int status)
ÁöÁ¤µÈ ½ºÅ×ÀÌÅͽº ÄÚµå·Î Java °¡»ó ¸Ó½ÅÀ» Á¤Áö½ÃŰ´Â Çã°¡¸¦, È£ÃâÃøÀÇ thread°¡ °¡Áö°í ÀÖÁö ¾ÊÀº °æ¿ì¿¡ SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
void |
checkLink (String lib)
ij¸¯ÅÍ ¶óÀÎ Àμö ÆÄÀÏ·Î ÁöÁ¤µÈ ¶óÀ̺귯¸® Äڵ忡ÀÇ µ¿Àû ¸µÅ©°¡ È£ÃâÃøÀÇ thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡ SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
void |
checkListen (int port)
ÁöÁ¤µÈ ·ÎÄà Æ÷Æ® ¹øÈ£·Î Á¢¼Ó ¿ä±¸¸¦ ´ë±âÇÏ´Â °ÍÀÌ È£ÃâÃø thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡ SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
void |
checkMemberAccess (Class <? > clazz,
int which)
¸â¹ö¿¡ÀÇ ¾×¼¼½º°¡ È£ÃâÇØ ¿·thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡ SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
void |
checkMulticast (InetAddress maddr)
IP ¸ÖƼ ij½ºÆ® (join/leave/send/receive)ÀÇ »ç¿ëÀÌ È£ÃâÇØ ¿·thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡ SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
void |
checkMulticast (InetAddress maddr,
byte ttl)
ÃßõÇÏÁö ¾Ê½À´Ï´Ù. ´ë½Å¿¡ #checkPermission(java.security.Permission)¸¦ »ç¿ëÇÕ´Ï´Ù. |
void |
checkPackageAccess (String pkg)
Àμö·Î ÁöÁ¤µÈ ÆÐŰÁö¿¡ÀÇ ¾×¼¼½º°¡ È£ÃâÇØ ¿·thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡ SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
void |
checkPackageDefinition (String pkg)
Àμö·Î ÁöÁ¤µÈ ÆÐŰÁö³»ÀÇ Å¬·¡½º¸¦ Á¤ÀÇÇÏ´Â °ÍÀÌ È£ÃâÃø thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡ SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
void |
checkPermission (Permission perm)
ÁöÁ¤µÈ Á¢±Ù ±ÇÇÑÀ¸·Î ¿ä±¸ÇÑ ¾×¼¼½º°¡ ÇöÀç À¯È¿ÇÑ ½ÃÅ¥·¯Æ¼ Á¤Ã¥¿¡ ºñÃß¾î Çã°¡µÇÁö ¾Ê¾Ò´ø °æ¿ì¿¡ SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
void |
checkPermission (Permission perm,
Object context)
ÁöÁ¤µÈ ½ÃÅ¥·¯Æ¼ ÄÁÅØ½ºÆ®¿¡ ´ëÇØ, ÁöÁ¤µÈ Á¢±Ù ±ÇÇÑÀÌ °¡¸®Å°´Â ÀÚ¿ø¿¡ÀÇ ¾×¼¼½º°¡ °ÅºÎµÇ¾úÀ» °æ¿ì¿¡ SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
void |
checkPrintJobAccess ()
Àμâ ÀÛ¾÷ ¿ä±¸ÀÇ °³½Ã°¡ È£ÃâÇØ ¿·thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡ SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
void |
checkPropertiesAccess ()
½Ã½ºÅÛ ÇÁ·ÎÆÛƼÀÇ ¾×¼¼½º ¶Ç´Â ¼öÁ¤ÀÌ È£ÃâÇØ ¿·thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡ SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
void |
checkPropertyAccess (String key)
key·Î
ÁöÁ¤µÈ ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ¿¡ÀÇ ¾×¼¼½º°¡ È£ÃâÃø thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
void |
checkRead (FileDescriptor fd)
ÁöÁ¤µÈ ÆÄÀÏ ±â¼úÀڷκÎÅÍÀÇ read°¡ È£ÃâÇØ ¿·ÀÇ thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡ SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
void |
checkRead (String file)
ij¸¯ÅÍ ¶óÀÎ Àμö·Î ÁöÁ¤µÈ ÆÄÀÏÀÇ read°¡ È£ÃâÇØ ¿·ÀÇ thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡ SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
void |
checkRead (String file,
Object context)
ij¸¯ÅÍ ¶óÀÎ Àμö·Î ÁöÁ¤µÈ ÆÄÀÏÀ» Àо´Â Çã°¡°¡ ÁöÁ¤µÈ ½ÃÅ¥·¯Æ¼ ÄÁÅØ½ºÆ®¿¡ ¾ø´Â °æ¿ì¿¡ SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
void |
checkSecurityAccess (String target)
ÁöÁ¤µÈ Á¢±Ù ±ÇÇÑ Å¸°Ù¸íÀÇ Á¢±Ù ±ÇÇÑÀ» Çã°¡Çϵ簡 ȤÀº °ÅºÎÇÏ´ÂÁö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù. |
void |
checkSetFactory ()
ServerSocket ¶Ç´Â SocketÀÌ »ç¿ëÇÏ´Â ¼ÒÄÏ ÆÑÅ丮, ¶Ç´Â URL°¡ »ç¿ëÇÏ´Â ½ºÆ®¸² Çڵ鷯 ÆÑÅ丮¸¦ ¼³Á¤ÇÏ´Â °ÍÀÌ È£ÃâÃø thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
void |
checkSystemClipboardAccess ()
½Ã½ºÅÛ Å¬¸³º¸µå¿¡ÀÇ ¾×¼¼½º°¡ È£ÃâÇØ ¿·thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡ SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
boolean |
checkTopLevelWindow (Object window)
windowÀμö·Î ÁöÁ¤µÈ Åé ·¹º§ÀÇ À©µµ¿ì¸¦ Ç¥½ÃÇϱâ À§ÇÑ ½Å·Ú°¡ È£ÃâÇØ ¿·thread¿¡ ¾ø´Â °æ¿ì¿¡
false¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
void |
checkWrite (FileDescriptor fd)
ÁöÁ¤µÈ ÆÄÀÏ ±â¼úÀÚ¿¡°Ô·ÎÀÇ Ãâ·ÂÀÌ È£ÃâÇØ ¿·thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡ SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
void |
checkWrite (String file)
ij¸¯ÅÍ ¶óÀÎ Àμö·Î ÁöÁ¤µÈ ÆÄÀÏ¿¡ÀÇ Ãâ·ÂÀÌ È£ÃâÇØ ¿·thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡ SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. |
protected int |
classDepth (String name)
ÃßõÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ Å¸ÀÔÀÇ ½ÃÅ¥·¯Æ¼ üũ´Â Ãßõ µÇÁö ¾Ê½À´Ï´Ù. ´ë½Å¿¡ checkPermission
È£ÃâÀ» »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù. |
protected int |
classLoaderDepth ()
ÃßõÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ Å¸ÀÔÀÇ ½ÃÅ¥·¯Æ¼ üũ´Â Ãßõ µÇÁö ¾Ê½À´Ï´Ù. ´ë½Å¿¡ checkPermission
È£ÃâÀ» »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù. |
protected ClassLoader |
currentClassLoader ()
ÃßõÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ Å¸ÀÔÀÇ ½ÃÅ¥·¯Æ¼ üũ´Â Ãßõ µÇÁö ¾Ê½À´Ï´Ù. ´ë½Å¿¡ checkPermission
È£ÃâÀ» »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù. |
protected Class <? > |
currentLoadedClass ()
ÃßõÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ Å¸ÀÔÀÇ ½ÃÅ¥·¯Æ¼ üũ´Â Ãßõ µÇÁö ¾Ê½À´Ï´Ù. ´ë½Å¿¡ checkPermission
È£ÃâÀ» »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù. |
protected Class [] |
getClassContext ()
ÇöÀçÀÇ ¿¹¿Ü ½ÇÇà ½ºÅÃÀ» Ŭ·¡½ºÀÇ ¹è¿·Î¼ ¸®ÅÏÇÕ´Ï´Ù. |
boolean |
getInCheck ()
ÃßõÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ Å¸ÀÔÀÇ ½ÃÅ¥·¯Æ¼ üũ´Â Ãßõ µÇÁö ¾Ê½À´Ï´Ù. ´ë½Å¿¡ checkPermission
È£ÃâÀ» »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù. |
Object |
getSecurityContext ()
ÇöÀçÀÇ ½ÇÇà ȯ°æÀ» ĸ½¶ÈÇÏ´Â °´Ã¼¸¦ »ý¼ºÇÕ´Ï´Ù. |
ThreadGroup |
getThreadGroup ()
ÀÌ ¸Þ¼µå¸¦ È£ÃâÇßÀ» ¶§¿¡ ÀÛ¼ºµÇ´Â ÀÓÀÇÀÇ »õ·Î¿î threadÀÇ ÀνºÅϽº¸¦ »ý¼ºÇϱâ À§ÇÑ, thread ±×·ìÀ» ¸®ÅÏÇÕ´Ï´Ù. |
protected boolean |
inClass (String name)
ÃßõÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ Å¸ÀÔÀÇ ½ÃÅ¥·¯Æ¼ üũ´Â Ãßõ µÇÁö ¾Ê½À´Ï´Ù. ´ë½Å¿¡ checkPermission
È£ÃâÀ» »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù. |
protected boolean |
inClassLoader ()
ÃßõÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ Å¸ÀÔÀÇ ½ÃÅ¥·¯Æ¼ üũ´Â Ãßõ µÇÁö ¾Ê½À´Ï´Ù. ´ë½Å¿¡ checkPermission
È£ÃâÀ» »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù. |
| Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼µå |
|---|
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
| ÇʵåÀÇ »ó¼¼ |
|---|
@Deprecated protected boolean inCheck
checkPermission
È£ÃâÀ» »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù. true ÀÔ´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì´Â false ÀÔ´Ï´Ù.
| »ý¼ºÀÚ »ó¼¼ |
|---|
public SecurityManager()
SecurityManager¸¦ ±¸ÃàÇÕ´Ï´Ù.
½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ À̹Ì
ÀνºÅç µÇ°í ÀÖ´Â °æ¿ì, ÀÌ ¸Þ¼µå´Â ÃÖÃÊ·Î ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkPermission ¸Þ¼µå¸¦ È£ÃâÇÕ´Ï´Ù. ÀÌ ¶§, RuntimePermission("createSecurityManager") Á¢±Ù ±ÇÇÑÀ» »ç¿ëÇÏ´Â °ÍÀ¸·Î½á, È£ÃâÃøÀÇ thread°¡ »õ·Î¿î ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú¸¦ ÀÛ¼ºÇÏ´Â Á¢±Ù ±ÇÇÑÀ» È®½ÇÈ÷ °¡Áöµµ·Ï ÇÕ´Ï´Ù. ÀÌ °á°ú, SecurityException°¡ ¹ß»ýµÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ À̹Ì
ÀÖ¾î, ±× checkPermission ¸Þ¼µå°¡ »õ·Î¿î ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ ÀÛ¼ºÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ìSystem.getSecurityManager(),
checkPermission,
RuntimePermission | ¸Þ¼µåÀÇ »ó¼¼ |
|---|
@Deprecated public boolean getInCheck()
checkPermission
È£ÃâÀ» »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù.
inCheck ÇʵåÀÇ °ª. ½ÃÅ¥·¯Æ¼ üũ°¡ ÁøÇàÁßÀÇ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â falseinCheck protected Class [] getClassContext()
¹è¿ÀÇ ±æÀÌ´Â ½ÇÇà ½ºÅÃ»ó¿¡ ÀÖ´Â ¸Þ¼µåÀÇ ¼ö°¡ µË´Ï´Ù. À妽º 0
¿ä¼Ò´Â ÇöÀç ¸Þ¼µå¸¦ ½ÇÇàÁßÀÇ Å¬·¡½º, À妽º 1
¿ä¼Ò´Â ±× ¸Þ¼µåÀÇ È£Ãâ Ŭ·¡½º°¡ µË´Ï´Ù.
@Deprecated protected ClassLoader currentClassLoader()
checkPermission
È£ÃâÀ» »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù.
ClassLoader.getSystemClassLoader() ¿¡ ÀÇÇØ ¸®ÅϵÈ
½Ã½ºÅÛ Å¬·¡½º ·Î´õ¿Íµµ, °Ô´Ù°¡ À§°´Ã¼ÀÇ ¾î¶² °Í°úµµ µ¿ÀÏÇÏÁö ¾ÊÀº Ŭ·¡½º ·Î´õÀÔ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â ´ÙÀ½ÀÇ 3°³ÀÇ °æ¿ì¿¡ nullÀ»
¸®ÅÏÇÕ´Ï´Ù.
AccessController.doPrivileged(java.security.PrivilegedAction) ¸¦
ÂüÁ¶)±îÁöÀÇ ½ÇÇà ½ºÅÿ¡ ÀÖ´Â ¸ðµç ¸Þ¼µå°¡ ½Ã½ºÅÛ Å¬·¡½º ·Î´õ ¶Ç´Â °Ô´Ù°¡ À§°´Ã¼ÀÇ 1°³¸¦ »ç¿ëÇØ Á¤ÀÇµÈ Å¬·¡½ºÀÇ ¸Þ¼µåÀÌ´Ù
java.security.AllPermissionÀ»
»ç¿ëÇØ checkPermissionÀ»
È£ÃâÇßÀ» ¶§¿¡
°á°ú°¡ SecurityException´Â ¾Æ´Ï´Ù
getSystemClassLoader,
checkPermission @Deprecated protected Class <? > currentLoadedClass()
checkPermission
È£ÃâÀ» »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù.
ClassLoader.getSystemClassLoader() ¿¡ ÀÇÇØ ¸®ÅϵÈ
½Ã½ºÅÛ Å¬·¡½º ·Î´õ¿Íµµ, °Ô´Ù°¡ À§°´Ã¼ÀÇ ¾î¶² °Í°úµµ µ¿ÀÏÇÏÁö ¾ÊÀº Ŭ·¡½º ·Î´õÀÔ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â ´ÙÀ½ÀÇ 3°³ÀÇ °æ¿ì¿¡ nullÀ»
¸®ÅÏÇÕ´Ï´Ù.
AccessController.doPrivileged(java.security.PrivilegedAction) ¸¦
ÂüÁ¶)±îÁöÀÇ ½ÇÇà ½ºÅÿ¡ ÀÖ´Â ¸ðµç ¸Þ¼µå°¡ ½Ã½ºÅÛ Å¬·¡½º ·Î´õ ¶Ç´Â °Ô´Ù°¡ À§°´Ã¼ÀÇ 1°³¸¦ »ç¿ëÇØ Á¤ÀÇµÈ Å¬·¡½ºÀÇ ¸Þ¼µåÀÌ´Ù
java.security.AllPermissionÀ»
»ç¿ëÇØ checkPermissionÀ»
È£ÃâÇßÀ» ¶§¿¡
°á°ú°¡ SecurityException´Â ¾Æ´Ï´Ù
getSystemClassLoader,
checkPermission @Deprecated protected int classDepth(String name)
checkPermission
È£ÃâÀ» »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù.
name - °Ë»öÇϴ Ŭ·¡½ºÀÇ ¿ÏÀü ¼ö½Ä¸í
-1@Deprecated protected int classLoaderDepth()
checkPermission
È£ÃâÀ» »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù.
ClassLoader.getSystemClassLoader() ¿¡ ÀÇÇØ ¸®ÅϵÈ
½Ã½ºÅÛ Å¬·¡½º ·Î´õ¿Íµµ, °Ô´Ù°¡ À§°´Ã¼ÀÇ ¾î¶² °Í°úµµ µ¿ÀÏÇÏÁö ¾ÊÀº Ŭ·¡½º ·Î´õÀÔ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â ´ÙÀ½ÀÇ °æ¿ì¿¡ -1¸¦ ¸®ÅÏÇÕ´Ï´Ù.
AccessController.doPrivileged(java.security.PrivilegedAction) ¸¦
ÂüÁ¶)±îÁöÀÇ ½ÇÇà ½ºÅÿ¡ ÀÖ´Â ¸ðµç ¸Þ¼µå°¡ ½Ã½ºÅÛ Å¬·¡½º ·Î´õ ¶Ç´Â °Ô´Ù°¡ À§°´Ã¼ÀÇ 1°³¸¦ »ç¿ëÇØ Á¤ÀÇµÈ Å¬·¡½ºÀÇ ¸Þ¼µåÀÌ´Ù
java.security.AllPermissionÀ»
»ç¿ëÇØ checkPermissionÀ»
È£ÃâÇßÀ» ¶§¿¡
°á°ú°¡ SecurityException´Â ¾Æ´Ï´Ù
getSystemClassLoader,
checkPermission @Deprecated protected boolean inClass(String name)
checkPermission
È£ÃâÀ» »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù.
name - Ŭ·¡½ºÀÇ ¿ÏÀü ¼ö½Ä¸í
true, ¾ø´Â °æ¿ì´Â false@Deprecated protected boolean inClassLoader()
checkPermission
È£ÃâÀ» »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù.
currentClassLoader
È£ÃâÀÇ ¹Ýȯ°ªÀÌ nullÀÌ ¾Æ´Ñ °æ¿ì´Â truecurrentClassLoader public Object getSecurityContext()
checkConnect ¸Þ¼µå³ª, 2°³ÀÇ Àμö¸¦ ÃëÇÏ´Â checkRead ¸Þ¼µåµîÀ¸·Î »ç¿ëÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¸Þ¼µå°¡ ÇÊ¿äÇÑ °ÍÀº ½Å·ÚÇÒ ¼ö ÀÖ´Â ¸Þ¼µå°¡ ´Ù¸¥ ¸Þ¼µå ´ë½Å¿¡ ÆÄÀÏÀ» ÀоîµéÀ̰ųª ¼ÒÄÏÀ» ¿ÀÇÂÇϰųª Çϱâ À§Çؼ ºÒ·Á°¡±â ¶§¹®ÀÔ´Ï´Ù. ½Å·ÚÇÒ ¼ö ÀÖ´Â ¸Þ¼µå´Â ´Ù¸¥ (¾î¼¸é ½Å·ÚÇÒ ¼ö ¾ø´Ù) ¸Þ¼µå°¡ ±× Á¶ÀÛÀ» ½º½º·Î ½Ç½ÃÇÏ´Â °ÍÀ» Çã°¡µÇ°í ÀÖ´ÂÁö¸¦, ÆÇÁ¤ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
ÀÌ ¸Þ¼µåÀÇ µðÆúÆ®ÀÇ ±¸ÇöÀº, AccessControlContext °´Ã¼¸¦ ¸®ÅÏÇÕ´Ï´Ù.
checkConnect,
checkRead,
AccessControlContext public void checkPermission(Permission perm)
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â ÁöÁ¤µÈ Á¢±Ù ±ÇÇÑÀ¸·Î AccessController.checkPermissionÀ»
È£ÃâÇÕ´Ï´Ù.
perm - ¿ä±¸ Á¢±Ù ±ÇÇÑ
SecurityException - ÇöÀçÀÇ ½ÃÅ¥·¯Æ¼ Á¤Ã¥¿¡ ÀÇÇØ ¾×¼¼½º°¡ °ÅºÎµÇ¾úÀ» °æ¿ì
NullPointerException - Á¢±Ù ±ÇÇÑÀÇ Àμö°¡ nullÀÎ °æ¿ì
public void checkPermission(Permission perm,
Object context)
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. context´Â
Á÷ÀüÀÇ getSecurityContext È£Ãâ¿¡ ÀÇÇØ ¸®ÅÏµÈ ½ÃÅ¥·¯Æ¼ ÄÁÅØ½ºÆ®ÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù. ¾×¼¼½º Á¦¾îÀÇ °áÁ¤Àº ÀÌ ½ÃÅ¥·¯Æ¼ ÄÁÅØ½ºÆ®¿¡ ´ëÇØ¼ ¼³Á¤µÇ¾î ÀÖ´Â ½ÃÅ¥·¯Æ¼ Á¤Ã¥¿¡ ±Ù°ÅÇØ ÇàÇØÁý´Ï´Ù.
contextÀÌ AccessControlContext
ÀνºÅϽºÀÎ °æ¿ì, ÁöÁ¤µÈ Á¢±Ù ±ÇÇÑÀ¸·Î AccessControlContext.checkPermission ¸Þ¼µå°¡ È£ÃâµË´Ï´Ù.
contextÀÌ AccessControlContext
ÀνºÅϽº°¡ ¾Æ´Ñ °æ¿ì´Â SecurityException°¡ ¹ß»ý µË´Ï´Ù.
perm - ÁöÁ¤µÈ Á¢±Ù ±ÇÇÑcontext - ½Ã½ºÅÛ¿¡ Á¸ÀçÇÏ´Â ½ÃÅ¥·¯Æ¼ ÄÁÅØ½ºÆ®
SecurityException - ÁöÁ¤µÈ ½ÃÅ¥·¯Æ¼ ÄÁÅØ½ºÆ®ÀÌ AccessControlContext
ÀνºÅϽº°¡ ¾Æ´Ñ (¿¹¸¦ µé¾î null ÀÌ´Ù)Àΰ¡ ȤÀº ÁöÁ¤µÈ Á¢±Ù ±ÇÇÑÀÌ °¡¸®Å°´Â ÀÚ¿ø¿¡ÀÇ ¾×¼¼½º°¡ °ÅºÎµÇ¾úÀ» °æ¿ì
NullPointerException - Á¢±Ù ±ÇÇÑÀÇ Àμö°¡ nullÀÎ °æ¿ìgetSecurityContext(),
AccessControlContext.checkPermission(java.security.Permission) public void checkCreateClassLoader()
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â Á¢±Ù ±ÇÇÑ RuntimePermission("createClassLoader")·Î
checkPermissionÀ»
È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µå°¡ º¸ÅëÀÌ¸é ¿¹¿Ü¸¦ Throw ÇÏ´Â À§Ä¡¿¡¼ super.checkCreateClassLoader°¡ ºÒ·Á°¡
µµ·ÏÀÇÇØ ÁÖ¼¼¿ä.
SecurityException - È£ÃâÃøÀÇ thread°¡ »õ·Î¿î Ŭ·¡½º ·Î´õ¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ´Â Á¢±Ù ±ÇÇÑÀ» °¡ÁöÁö ¾Ê´Â °æ¿ìClassLoader.ClassLoader(),
checkPermission public void checkAccess(Thread t)
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â Thread Ŭ·¡½ºÀÇ stop, suspend, resume, setPriority, setName, setDaemon
°¢ ¸Þ¼µå¸¦ È£ÃâÇÏ´Â °Í¿¡ÀÇÇØ ÇöÀçÀÇ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú¿¡ ´ëÇØ¼ È£ÃâÇÕ´Ï´Ù.
threadÀÇ Àμö°¡ ½Ã½ºÅÛ thread (ºÎ¸ð°¡ nullÀÎ thread ±×·ì¿¡ ¼ÓÇÏ´Â °Í)ÀÎ °æ¿ì, ÀÌ ¸Þ¼µå´Â Á¢±Ù ±ÇÇÑ RuntimePermission("modifyThread")¸¦ ÁöÁ¤ÇØ checkPermissionÀ» È£ÃâÇÕ´Ï´Ù. threadÀÇ Àμö°¡ ½Ã½ºÅÛ thread°¡ ¾Æ´Ñ °æ¿ì, ÀÌ ¸Þ¼µå´Â ¾Æ¹«°Íµµ ÇÏÁö ¾Ê°í º¹±ÍÇÕ´Ï´Ù.
º¸´Ù ¾ö¹ÐÇÑ Á¤Ã¥°¡ ÇÊ¿äÇÑ ¾îÇø®ÄÉÀ̼ÇÀÇ °æ¿ì´Â ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override)ÀÇÇØ ÁÖ¼¼¿ä. ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì, ¿À¹ö¶óÀ̵å(override)ÃøÀÇ ¸Þ¼µå´Â È£ÃâÃø thread°¡ RuntimePermission("modifyThread") Á¢±Ù ±ÇÇÑÀ» °¡ÁúÁö ¾î¶³Áöµµ È®ÀÎÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. Á¢±Ù ±ÇÇÑÀ» °¡Áö°í ÀÖ´Â °æ¿ì, ÀÌ ¸Þ¼µå°¡ ¾Æ¹«°Íµµ ÇÏÁö ¾Ê°í º¹±ÍÇϵµ·ÏÀÇÇØ ÁÖ¼¼¿ä. À̰Ϳ¡ ÀÇÇØ
ÀÌ Á¢±Ù ±ÇÇÑÀÌ Çã°¡µÈ ÄÚµå (¿¹¸¦ µé¾î JDK ÀÚ½Å)´Â ÀÓÀÇÀÇ thread¸¦ Á¶ÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override)ÃøÀÇ ¸Þ¼µåÀÇ 1¹øÂ°ÀÇ ¹®ÀåÀ¸·Î super.checkAccess¸¦ È£ÃâÇÏ´ÂÁö, ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µå¿¡ °°Àº ½ÃÅ¥·¯Æ¼ üũ¸¦ ±â¼úÇØ ÁÖ¼¼¿ä.
t - üũ ´ë»óÀÇ thread
SecurityException - È£ÃâÃø thread¿¡
ÀÌ thread¸¦ º¯°æÇϴµ¥ ÇÊ¿äÇÑ Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì
NullPointerException - threadÀÇ Àμö°¡ nullÀÎ °æ¿ìresume,
setDaemon,
setName,
setPriority,
stop,
suspend,
checkPermission public void checkAccess(ThreadGroup g)
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â ÀÚ½Ä
thread ¶Ç´ÂÀÚ½Ä
thread ±×·ìÀÌ »õ·Ó°Ô ÀÛ¼ºµÇ¾úÀ» ¶§¿¡
ThreadGroup Ŭ·¡½ºÀÇ setDaemon, setMaxPriority, stop, suspend, resume, destroy
°¢ ¸Þ¼µå¿¡ÀÇÇØ ÇöÀçÀÇ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú¿¡ ´ëÇØ¼ È£ÃâÇÕ´Ï´Ù.
thread ±×·ìÀÇ Àμö°¡ ½Ã½ºÅÛ thread ±×·ì (ºÎ¸ð°¡ null)ÀÎ °æ¿ì, ÀÌ ¸Þ¼µå´Â Á¢±Ù ±ÇÇÑ RuntimePermission("modifyThreadGroup")¸¦ ÁöÁ¤ÇØ checkPermissionÀ» È£ÃâÇÕ´Ï´Ù. thread ±×·ìÀÇ Àμö°¡ ½Ã½ºÅÛ thread ±×·ìÀÌ ¾Æ´Ñ °æ¿ì, ÀÌ ¸Þ¼µå´Â ¾Æ¹«°Íµµ ÇÏÁö ¾Ê°í º¹±ÍÇÕ´Ï´Ù.
º¸´Ù ¾ö¹ÐÇÑ Á¤Ã¥°¡ ÇÊ¿äÇÑ ¾îÇø®ÄÉÀ̼ÇÀÇ °æ¿ì´Â ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override)ÀÇÇØ ÁÖ¼¼¿ä. ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì, ¿À¹ö¶óÀ̵å(override)ÃøÀÇ ¸Þ¼µå´Â È£ÃâÃø thread°¡ RuntimePermission("modifyThreadGroup") Á¢±Ù ±ÇÇÑÀ» °¡ÁúÁö ¾î¶³Áöµµ È®ÀÎÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. Á¢±Ù ±ÇÇÑÀ» °¡Áö°í ÀÖ´Â °æ¿ì, ÀÌ ¸Þ¼µå°¡ ¾Æ¹«°Íµµ ÇÏÁö ¾Ê°í º¹±ÍÇϵµ·ÏÀÇÇØ ÁÖ¼¼¿ä. À̰Ϳ¡ ÀÇÇØ
ÀÌ Á¢±Ù ±ÇÇÑÀÌ Çã°¡µÈ ÄÚµå (¿¹¸¦ µé¾î JDK ÀÚ½Å)´Â ÀÓÀÇÀÇ thread¸¦ Á¶ÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override)ÃøÀÇ ¸Þ¼µåÀÇ 1¹øÂ°ÀÇ ¹®ÀåÀ¸·Î super.checkAccess¸¦ È£ÃâÇÏ´ÂÁö, ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µå¿¡ °°Àº ½ÃÅ¥·¯Æ¼ üũ¸¦ ±â¼úÇØ ÁÖ¼¼¿ä.
g - üũ ´ë»óÀÇ thread ±×·ì
SecurityException - È£ÃâÃø thread¿¡
ÀÌ thread ±×·ìÀ» º¯°æÇϴµ¥ ÇÊ¿äÇÑ Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì
NullPointerException - thread ±×·ìÀÇ Àμö°¡ nullÀÎ °æ¿ìdestroy,
resume,
setDaemon,
setMaxPriority,
stop,
suspend,
checkPermission public void checkExit(int status)
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â Runtime Ŭ·¡½ºÀÇ exit ¸Þ¼µå¿¡ÀÇÇØ ÇöÀçÀÇ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú¿¡ ´ëÇØ¼ È£ÃâÇÕ´Ï´Ù. ½ºÅ×ÀÌÅͽº ÄÚµå 0 Àº ¼º°øÀ» ³ªÅ¸³», ±× ¿ÜÀÇ °ªÀº °¢Á¾ÀÇ ¿¡·¯¸¦ ³ªÅ¸³À´Ï´Ù.
ÀÌ ¸Þ¼µå´Â Á¢±Ù ±ÇÇÑ RuntimePermission("exitVM")·Î
checkPermissionÀ»
È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µå°¡ º¸ÅëÀÌ¸é ¿¹¿Ü¸¦ Throw ÇÏ´Â À§Ä¡¿¡¼ super.checkExitÀÌ ºÒ·Á°¡
µµ·ÏÀÇÇØ ÁÖ¼¼¿ä.
status - Á¾·áÀÇ ½ºÅ×ÀÌÅͽº
SecurityException - ÁöÁ¤µÈ ½ºÅ×ÀÌÅͽº·Î Java °¡»ó ¸Ó½ÅÀ» Á¤Áö½ÃŰ´Â Á¢±Ù ±ÇÇÑÀÌ, È£ÃâÃø thread¿¡ ¾ø´Â °æ¿ìexit,
checkPermission public void checkExec(String cmd)
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â Runtime Ŭ·¡½ºÀÇ exec ¸Þ¼µå¿¡ÀÇÇØ ÇöÀçÀÇ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú¿¡ ´ëÇØ¼ È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â cmd°¡ Àý´ë ÆÐ½ºÀÇ °æ¿ì´Â Á¢±Ù ±ÇÇÑ FilePermission(cmd,"execute")¸¦ ÁöÁ¤ÇØ checkPermissionÀ»
È£ÃâÇØ, ±×·¸Áö ¾ÊÀº °æ¿ì´Â FilePermission("<<ALL FILES>>","execute")¸¦ ÁöÁ¤ÇØ checkPermissionÀ»
È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µå°¡ º¸ÅëÀÌ¸é ¿¹¿Ü¸¦ Throw ÇÏ´Â À§Ä¡¿¡¼ super.checkExec°¡ ºÒ·Á°¡
µµ·ÏÀÇÇØ ÁÖ¼¼¿ä.
cmd - ÁöÁ¤µÈ ½Ã½ºÅÛ Ä¿¸àµå
SecurityException - È£ÃâÃø thread¿¡
¼ºê ÇÁ·Î¼¼½º¸¦ ÀÛ¼ºÇÏ´Â Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì
NullPointerException - cmdÀμö°¡ nullÀÎ °æ¿ìRuntime.exec(java.lang.String),
Runtime.exec(java.lang.String, java.lang.String[]),
Runtime.exec(java.lang.String[]),
Runtime.exec(java.lang.String[], java.lang.String[]),
checkPermission public void checkLink(String lib)
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. Àμö¿¡´Â ¶óÀ̺귯¸®¸í¸¸À» ÁöÁ¤ÇÏ´ÂÁö, Àý´ë ÆÐ½ºÀÇ ÆÄÀϸíÀ» ÁöÁ¤ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â Runtime Ŭ·¡½ºÀÇ load ¸Þ¼µå¿Í loadLibrary ¸Þ¼µå¿¡ÀÇÇØ ÇöÀçÀÇ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú¿¡ ´ëÇØ¼ È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â Á¢±Ù ±ÇÇÑ RuntimePermission("loadLibrary. "+lib)·Î
checkPermissionÀ»
È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µå°¡ º¸ÅëÀÌ¸é ¿¹¿Ü¸¦ Throw ÇÏ´Â À§Ä¡¿¡¼ super.checkLink°¡ ºÒ·Á°¡
µµ·ÏÀÇÇØ ÁÖ¼¼¿ä.
lib - ¶óÀ̺귯¸®ÀÇ À̸§
SecurityException - È£ÃâÃø thread¿¡
¶óÀ̺귯¸®¸¦ µ¿ÀûÀ¸·Î ¸µÅ©ÇÏ´Â Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì
NullPointerException - libÀμö°¡ nullÀÎ °æ¿ìRuntime.load(java.lang.String),
Runtime.loadLibrary(java.lang.String),
checkPermission public void checkRead(FileDescriptor fd)
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â Á¢±Ù ±ÇÇÑ RuntimePermission("readFileDescriptor")·Î
checkPermissionÀ»
È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µå°¡ º¸ÅëÀÌ¸é ¿¹¿Ü¸¦ Throw ÇÏ´Â À§Ä¡¿¡¼ super.checkRead°¡ ºÒ·Á°¡
µµ·ÏÀÇÇØ ÁÖ¼¼¿ä.
fd - ½Ã½ºÅÛ¿¡ Á¸ÀçÇÏ´Â ÆÄÀÏ ±â¼úÀÚ
SecurityException - È£ÃâÃø thread¿¡
ÁöÁ¤µÈ ÆÄÀÏ ±â¼úÀÚ¿¡°Ô·ÎÀÇ Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì
NullPointerException - ÆÄÀÏ ±â¼úÀÚÀÇ Àμö°¡ nullÀÎ °æ¿ìFileDescriptor,
checkPermission public void checkRead(String file)
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â Á¢±Ù ±ÇÇÑ FilePermission(file,"read")¸¦ ÁöÁ¤ÇØ checkPermissionÀ»
È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µå°¡ º¸ÅëÀÌ¸é ¿¹¿Ü¸¦ Throw ÇÏ´Â À§Ä¡¿¡¼ super.checkRead°¡ ºÒ·Á°¡
µµ·ÏÀÇÇØ ÁÖ¼¼¿ä.
file - ½Ã½ºÅÛ¿¡ Á¸ÀçÇÏ´Â ÆÄÀϸí
SecurityException - È£ÃâÃø thread¿¡
ÁöÁ¤µÈ ÆÄÀÏ¿¡ÀÇ Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì
NullPointerException - fileÀμö°¡ nullÀÎ °æ¿ìcheckPermission
public void checkRead(String file,
Object context)
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù. ÄÁÅØ½ºÆ®Àº ÀÌÀüÀÇ getSecurityContext È£Ãâ·Î ¸®ÅÏµÈ ½ÃÅ¥·¯Æ¼ ÄÁÅØ½ºÆ®ÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù.
contextÀÌ AccessControlContext
ÀνºÅϽºÀÎ °æ¿ì´Â FilePermission(file,"read") Á¢±Ù ±ÇÇÑÀ» ÁöÁ¤ÇØ AccessControlContext.checkPermission ¸Þ¼µå°¡ È£ÃâµË´Ï´Ù.
contextÀÌ AccessControlContext
ÀνºÅϽº°¡ ¾Æ´Ñ °æ¿ì´Â SecurityException°¡ ¹ß»ý µË´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µå°¡ º¸ÅëÀÌ¸é ¿¹¿Ü¸¦ Throw ÇÏ´Â À§Ä¡¿¡¼ super.checkRead°¡ ºÒ·Á°¡
µµ·ÏÀÇÇØ ÁÖ¼¼¿ä.
file - ½Ã½ºÅÛ¿¡
ÀÇÁ¸µÈ ÆÄÀϸícontext - ½Ã½ºÅÛ¿¡ Á¸ÀçÇÏ´Â ½ÃÅ¥·¯Æ¼ ÄÁÅØ½ºÆ®
SecurityException - ÁöÁ¤µÈ ½ÃÅ¥·¯Æ¼ ÄÁÅØ½ºÆ®ÀÌ AccessControlContext
ÀνºÅϽº°¡ ¾Æ´Ñ (¿¹¸¦ µé¾î null ÀÌ´Ù)Àΰ¡ ȤÀº ÁöÁ¤µÈ ÆÄÀÏÀÇ read±ÇÀÌ ¾ø´Â °æ¿ì
NullPointerException - fileÀμö°¡ nullÀÎ °æ¿ìgetSecurityContext(),
AccessControlContext.checkPermission(java.security.Permission) public void checkWrite(FileDescriptor fd)
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â Á¢±Ù ±ÇÇÑ RuntimePermission("writeFileDescriptor")·Î
checkPermissionÀ»
È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µå°¡ º¸ÅëÀÌ¸é ¿¹¿Ü¸¦ Throw ÇÏ´Â À§Ä¡¿¡¼ super.checkWrite°¡ ºÒ·Á°¡
µµ·ÏÀÇÇØ ÁÖ¼¼¿ä.
fd - ½Ã½ºÅÛ¿¡ Á¸ÀçÇÏ´Â ÆÄÀÏ ±â¼úÀÚ
SecurityException - È£ÃâÃø thread¿¡
ÁöÁ¤µÈ ÆÄÀÏ ±â¼úÀÚ¿¡°Ô·ÎÀÇ Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì
NullPointerException - ÆÄÀÏ ±â¼úÀÚÀÇ Àμö°¡ nullÀÎ °æ¿ìFileDescriptor,
checkPermission public void checkWrite(String file)
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â Á¢±Ù ±ÇÇÑ FilePermission(file,"write")¸¦ ÁöÁ¤ÇØ checkPermissionÀ»
È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µå°¡ º¸ÅëÀÌ¸é ¿¹¿Ü¸¦ Throw ÇÏ´Â À§Ä¡¿¡¼ super.checkWrite°¡ ºÒ·Á°¡
µµ·ÏÀÇÇØ ÁÖ¼¼¿ä.
file - ½Ã½ºÅÛ¿¡
ÀÇÁ¸µÈ ÆÄÀϸí
SecurityException - È£ÃâÃø thread¿¡
ÁöÁ¤µÈ ÆÄÀÏ¿¡ÀÇ Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì
NullPointerException - fileÀμö°¡ nullÀÎ °æ¿ìcheckPermission public void checkDelete(String file)
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â File Ŭ·¡½ºÀÇ delete ¸Þ¼µå¿¡ÀÇÇØ ÇöÀçÀÇ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú¿¡ ´ëÇØ¼ È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â Á¢±Ù ±ÇÇÑ FilePermission(file,"delete")¸¦ ÁöÁ¤ÇØ checkPermissionÀ»
È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µå°¡ º¸ÅëÀÌ¸é ¿¹¿Ü¸¦ Throw ÇÏ´Â À§Ä¡¿¡¼ super.checkDelete°¡ ºÒ·Á°¡
µµ·ÏÀÇÇØ ÁÖ¼¼¿ä.
file - ½Ã½ºÅÛ¿¡
ÀÇÁ¸µÈ ÆÄÀϸí
SecurityException - È£ÃâÃø thread¿¡
ÁöÁ¤µÈ ÆÄÀÏÀ» »èÁ¦ÇÏ´Â Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì
NullPointerException - fileÀμö°¡ nullÀÎ °æ¿ìFile.delete(),
checkPermission
public void checkConnect(String host,
int port)
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù.
Æ÷Æ® ¹øÈ£ -1´Â
ÁöÁ¤µÈ È£½ºÆ®¸íÀÇ IP ÁÖ¼Ò¸¦, È£ÃâÃøÀÇ ¸Þ¼µå°¡ °áÁ¤µÇ·Á Çϰí ÀÖ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù.
Æ÷Æ® ¹øÈ£°¡ -1 ³ª¿ÀÁö ¾Ê´Â °æ¿ì, ÀÌ ¸Þ¼µå´Â Á¢±Ù ±ÇÇÑ SocketPermission(host+":"+port,"connect")¸¦ ÁöÁ¤ÇØ checkPermission ¸Þ¼µå¸¦ È£ÃâÇÕ´Ï´Ù. Æ÷Æ®°¡ -1 ÀÎ °æ¿ì, ÀÌ ¸Þ¼µå´Â Á¢±Ù ±ÇÇÑ SocketPermission(host,"resolve")¸¦ ÁöÁ¤ÇØ checkPermissionÀ» È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µå°¡ º¸ÅëÀÌ¸é ¿¹¿Ü¸¦ Throw ÇÏ´Â À§Ä¡¿¡¼ super.checkConnectÀÌ ºÒ·Á°¡
µµ·ÏÀÇÇØ ÁÖ¼¼¿ä.
host - Á¢¼ÓóÀÇ È£½ºÆ®¸í Æ÷Æ®port - Á¢¼ÓóÀÇ ÇÁ·ÎÅäÄÝ Æ÷Æ®
SecurityException - È£ÃâÃø thread¿¡
ÁöÁ¤µÈ host ¹× port¿¡
ÀÇ ¼ÒÄÏ Á¢¼ÓÀ» ¿ÀÇÂÇϱâ À§ÇÑ Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì
NullPointerException - hostÀμö°¡ nullÀÎ °æ¿ìcheckPermission
public void checkConnect(String host,
int port,
Object context)
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù.
Æ÷Æ® ¹øÈ£ -1´Â
ÁöÁ¤µÈ È£½ºÆ®¸íÀÇ IP ÁÖ¼Ò¸¦, È£ÃâÃøÀÇ ¸Þ¼µå°¡ °áÁ¤µÇ·Á Çϰí ÀÖ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù.
contextÀÌ AccessControlContext
ÀνºÅϽº°¡ ¾Æ´Ñ °æ¿ì´Â SecurityException°¡ ¹ß»ý µË´Ï´Ù.
±×·¸Áö ¾ÊÀº °æ¿ì´Â Æ÷Æ® ¹øÈ£¸¦ È®ÀÎÇÕ´Ï´Ù. Æ÷Æ® ¹øÈ£°¡ -1 ³ª¿ÀÁö ¾Ê´Â °æ¿ì´Â Á¢±Ù ±ÇÇÑ SocketPermission(host+":"+port,"connect")¸¦ ÁöÁ¤ÇØ context
checkPermission ¸Þ¼µå°¡ È£ÃâµË´Ï´Ù. Æ÷Æ®°¡ -1 ÀÎ °æ¿ì´Â Á¢±Ù ±ÇÇÑ SocketPermission(host,"resolve")¸¦ ÁöÁ¤ÇØ context
checkPermission ¸Þ¼µå°¡ È£ÃâµË´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µå°¡ º¸ÅëÀÌ¸é ¿¹¿Ü¸¦ Throw ÇÏ´Â À§Ä¡¿¡¼ super.checkConnectÀÌ ºÒ·Á°¡
µµ·ÏÀÇÇØ ÁÖ¼¼¿ä.
host - Á¢¼ÓóÀÇ È£½ºÆ®¸í Æ÷Æ®port - Á¢¼ÓóÀÇ ÇÁ·ÎÅäÄÝ Æ÷Æ®context - ½Ã½ºÅÛ¿¡ Á¸ÀçÇÏ´Â ½ÃÅ¥·¯Æ¼ ÄÁÅØ½ºÆ®
SecurityException - ÁöÁ¤µÈ ½ÃÅ¥·¯Æ¼ ÄÁÅØ½ºÆ®ÀÌ AccessControlContext
ÀνºÅϽº°¡ ¾Æ´Ñ (¿¹¸¦ µé¾î null ÀÌ´Ù)Àΰ¡ ȤÀº ÁöÁ¤µÈ host ¹× port¿¡
ÀÇ ¼ÒÄÏ Á¢¼ÓÀ» ¿ÀÇÂÇϱâ À§ÇÑ Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì
NullPointerException - hostÀμö°¡ nullÀÎ °æ¿ìgetSecurityContext(),
AccessControlContext.checkPermission(java.security.Permission) public void checkListen(int port)
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù.
Æ÷Æ® ¹øÈ£°¡ 0 ÀÌ ¾Æ´Ñ °æ¿ì, ÀÌ ¸Þ¼µå´Â Á¢±Ù ±ÇÇÑ SocketPermission("localhost:"+port,"listen")¸¦ ÁöÁ¤ÇØ checkPermission ¸Þ¼µå¸¦ È£ÃâÇÕ´Ï´Ù. Æ÷Æ®°¡ 0 ÀÎ °æ¿ì, ÀÌ ¸Þ¼µå´Â Á¢±Ù ±ÇÇÑ SocketPermission("localhost:1024-","listen")¸¦ ÁöÁ¤ÇØ checkPermission ¸Þ¼µå¸¦ È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µå°¡ º¸ÅëÀÌ¸é ¿¹¿Ü¸¦ Throw ÇÏ´Â À§Ä¡¿¡¼ super.checkListen°¡ ºÒ·Á°¡
µµ·ÏÀÇÇØ ÁÖ¼¼¿ä.
port - ·ÎÄà Æ÷Æ®
SecurityException - È£ÃâÃø thread¿¡
ÁöÁ¤µÈ Æ÷Æ®·Î ´ë±âÇϱâ À§ÇÑ Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ìcheckPermission
public void checkAccept(String host,
int port)
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â ServerSocket Ŭ·¡½ºÀÇ accept ¸Þ¼µå¿¡ÀÇÇØ ÇöÀçÀÇ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú¿¡ ´ëÇØ¼ È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â Á¢±Ù ±ÇÇÑ SocketPermission(host+":"+port,"accept")¸¦ ÁöÁ¤ÇØ checkPermissionÀ»
È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µå°¡ º¸ÅëÀÌ¸é ¿¹¿Ü¸¦ Throw ÇÏ´Â À§Ä¡¿¡¼ super.checkAcceptÀÌ ºÒ·Á°¡
µµ·ÏÀÇÇØ ÁÖ¼¼¿ä.
host - ¼ÒÄÏ Á¢¼ÓÀÇ È£½ºÆ® ¹øÈ£port - ¼ÒÄÏ Á¢¼ÓÀÇ Æ÷Æ® ¹øÈ£
SecurityException - È£ÃâÃø thread¿¡
Á¢¼ÓÀ» ¹Þ¾ÆµéÀ̱â À§ÇÑ Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì
NullPointerException - hostÀμö°¡ nullÀÎ °æ¿ìServerSocket.accept(),
checkPermission public void checkMulticast(InetAddress maddr)
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â Á¢±Ù ±ÇÇÑ java.net.SocketPermission(maddr.getHostAddress(), "accept, connect")¸¦ ÁöÁ¤ÇØ checkPermissionÀ»
È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µå°¡ º¸ÅëÀÌ¸é ¿¹¿Ü¸¦ Throw ÇÏ´Â À§Ä¡¿¡¼ super.checkMulticastÀÌ ºÒ·Á°¡
µµ·ÏÀÇÇØ ÁÖ¼¼¿ä.
maddr - »ç¿ëÇÏ´Â ÀÎÅÍ³Ý ±×·ìÀÇ ÁÖ¼Ò
SecurityException - È£ÃâÃø thread¿¡
IP ¸ÖƼ ij½ºÆ® (join/leave/send/receive)ÀÇ »ç¿ëÀÌ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì
NullPointerException - ÁÖ¼ÒÀÇ Àμö°¡ nullÀÎ °æ¿ìcheckPermission
@Deprecated
public void checkMulticast(InetAddress maddr,
byte ttl)
SecurityExceptionÀ» Throw ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â Á¢±Ù ±ÇÇÑ java.net.SocketPermission(maddr.getHostAddress(), "accept, connect")¸¦ ÁöÁ¤ÇØ checkPermissionÀ»
È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µå°¡ º¸ÅëÀÌ¸é ¿¹¿Ü¸¦ Throw ÇÏ´Â À§Ä¡¿¡¼ super.checkMulticastÀÌ ºÒ·Á°¡
µµ·ÏÀÇÇØ ÁÖ¼¼¿ä.
maddr - »ç¿ëÇÏ´Â ÀÎÅÍ³Ý ±×·ìÀÇ ÁÖ¼Òttl - »ç¿ëÇÏ´Â °ªÀÌ ¸ÖƼ ij½ºÆ® ¼Û½ÅµÇ´Â °æ¿ì, ±× °ª. ÁÖ: ÀÌ Æ¯Á¤ÀÇ ±¸ÇöÀº ttl ÆÄ¶ó¹ÌÅ͸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù
SecurityException - È£ÃâÃø thread¿¡
IP ¸ÖƼ ij½ºÆ® (join/leave/send/receive)ÀÇ »ç¿ëÀÌ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì
NullPointerException - ÁÖ¼ÒÀÇ Àμö°¡ nullÀÎ °æ¿ìcheckPermission public void checkPropertiesAccess()
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â System Ŭ·¡½ºÀÇ getProperties ¹× setProperties ¸Þ¼µå¿¡ ÀÇÇØ »ç¿ëµË´Ï´Ù.
ÀÌ ¸Þ¼µå´Â Á¢±Ù ±ÇÇÑ PropertyPermission("*", "read, write")¸¦ ÁöÁ¤ÇØ checkPermissionÀ»
È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µå°¡ º¸ÅëÀÌ¸é ¿¹¿Ü¸¦ Throw ÇÏ´Â À§Ä¡¿¡¼ super.checkPropertiesAccess°¡ ºÒ·Á°¡
µµ·ÏÀÇÇØ ÁÖ¼¼¿ä.
SecurityException - È£ÃâÃø thread¿¡
½Ã½ºÅÛ ÇÁ·ÎÆÛƼ¿¡ ´ëÇÑ ¾×¼¼½º ¶Ç´Â º¯°æÀ» ÇàÇϱâ À§ÇÑ Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ìSystem.getProperties(),
System.setProperties(java.util.Properties),
checkPermission public void checkPropertyAccess(String key)
key·Î
ÁöÁ¤µÈ ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ¿¡ÀÇ ¾×¼¼½º°¡ È£ÃâÃø thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â System Ŭ·¡½ºÀÇ getProperty ¸Þ¼µå¿¡ ÀÇÇØ »ç¿ëµË´Ï´Ù.
ÀÌ ¸Þ¼µå´Â Á¢±Ù ±ÇÇÑ PropertyPermission(key, "read")·Î
checkPermissionÀ»
È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µå°¡ º¸ÅëÀÌ¸é ¿¹¿Ü¸¦ Throw ÇÏ´Â À§Ä¡¿¡¼ super.checkPropertiesAccess°¡ ºÒ·Á°¡
µµ·ÏÀÇÇØ ÁÖ¼¼¿ä.
key - ½Ã½ºÅÛ ÇÁ·ÎÆÛƼÀÇ Å°
SecurityException - È£ÃâÃø thread¿¡
ÁöÁ¤µÈ ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ¿¡ÀÇ Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì
NullPointerException - keyÀμö°¡ nullÀÎ °æ¿ì
IllegalArgumentException - key°¡ ºñ¾îÀÖ´Â °æ¿ìSystem.getProperty(java.lang.String),
checkPermission public boolean checkTopLevelWindow(Object window)
windowÀμö·Î ÁöÁ¤µÈ Åé ·¹º§ÀÇ À©µµ¿ì¸¦ Ç¥½ÃÇϱâ À§ÇÑ ½Å·Ú°¡ È£ÃâÇØ ¿·thread¿¡ ¾ø´Â °æ¿ì¿¡
false¸¦ ¸®ÅÏÇÕ´Ï´Ù. ÀÌ °æ¿ì¿¡¼µµ, È£ÃâÃø thread´Â À©µµ¿ì¸¦ Ç¥½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸, À©µµ¿ì¿¡´Â ÇϵîÀÇ °æ°í°¡ Ç¥½ÃµË´Ï´Ù. ÀÌ ¸Þ¼µå°¡ true¸¦ µ¹·ÁÁÖ¾úÀ» °æ¿ì´Â ƯÈ÷ Á¦ÇѾøÀÌ À©µµ¿ì¸¦ Ç¥½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù.
½Å·ÚÇÒ ¼ö ÀÖ´Â À©µµ¿ì¿Í ½Å·ÚÇÒ ¼ö ¾ø´Â À©µµ¿ìÀÇÀÚ¼¼ÇÑ ³»¿ëÀº Window Ŭ·¡½º¸¦ ÂüÁ¶ÇϽʽÿÀ.
ÀÌ ¸Þ¼µå´Â Á¢±Ù ±ÇÇÑ AWTPermission("showWindowWithoutWarningBanner")·Î
checkPermissionÀ»
È£ÃâÇØ, SecurityException°¡ Throw µÇÁö ¾Ê´Â °æ¿ì´Â true¸¦, ¹ß»ýµÇ´Â °æ¿ì´Â false¸¦ ¸®ÅÏÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µå°¡ º¸ÅëÀ̸é false¸¦ Throw ÇÏ´Â À§Ä¡¿¡¼ super.checkTopLevelWindow°¡ ºÒ·Á°¡
µµ·ÏÀÇÇØ ÁÖ¼¼¿ä. À̰Ϳ¡ ÀÇÇØ
super.checkTopLevelWindow°ªÀÌ ¸®Åϵ˴ϴÙ
.
window - ÀÛ¼ºµÇ´Â »õ·Î¿î À©µµ¿ì
true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
NullPointerException - windowÀμö°¡ nullÀÎ °æ¿ìWindow,
checkPermission public void checkPrintJobAccess()
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â Á¢±Ù ±ÇÇÑ RuntimePermission("queuePrintJob")·Î
checkPermissionÀ»
È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µå°¡ º¸ÅëÀÌ¸é ¿¹¿Ü¸¦ Throw ÇÏ´Â À§Ä¡¿¡¼ super.checkPrintJobAccess°¡ ºÒ·Á°¡
µµ·ÏÀÇÇØ ÁÖ¼¼¿ä.
SecurityException - È£ÃâÃø thread¿¡
Àμâ ÀÛ¾÷ ¿ä±¸¸¦ °³½ÃÇϱâ À§ÇÑ Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ìcheckPermission public void checkSystemClipboardAccess()
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â Á¢±Ù ±ÇÇÑ AWTPermission("accessClipboard")·Î
checkPermissionÀ»
È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µå°¡ º¸ÅëÀÌ¸é ¿¹¿Ü¸¦ Throw ÇÏ´Â À§Ä¡¿¡¼ super.checkSystemClipboardAccess°¡ ºÒ·Á°¡
µµ·ÏÀÇÇØ ÁÖ¼¼¿ä.
SecurityException - È£ÃâÃø thread¿¡
½Ã½ºÅÛ Å¬¸³º¸µå¿¡ÀÇ Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ìcheckPermission public void checkAwtEventQueueAccess()
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â Á¢±Ù ±ÇÇÑ AWTPermission("accessEventQueue")·Î
checkPermissionÀ»
È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µå°¡ º¸ÅëÀÌ¸é ¿¹¿Ü¸¦ Throw ÇÏ´Â À§Ä¡¿¡¼ super.checkAwtEventQueueAccess°¡ ºÒ·Á°¡
µµ·ÏÀÇÇØ ÁÖ¼¼¿ä.
SecurityException - È£ÃâÃø thread¿¡
AWT À̺¥Æ® Å¥¿¡ÀÇ Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ìcheckPermission public void checkPackageAccess(String pkg)
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â Ŭ·¡½º ·Î´õÀÇ loadClass ¸Þ¼µå¿¡ ÀÇÇØ »ç¿ëµË´Ï´Ù.
ÀÌ ¸Þ¼µå´Â ÃÖÃÊ·Î java.security.Security.getProperty("package.access")¸¦ È£ÃâÇØ ÄÞ¸¶ ´Ü¶ô Çü½ÄÀÇ ¸®½ºÆ®¸¦ ¾ò´Â °ÍÀ¸·Î½á, Á¦ÇѺΠÆÐŰÁöÀÇ ¸®½ºÆ®¸¦ ÃëµæÇÕ´Ï´Ù. ´ÙÀ½¿¡
Á¦ÇѺΠÆÐŰÁö¾È¿¡ pkg·Î
½ÃÀ۵Ǵ ÆÐŰÁö ¶Ç´Â pkg¿¡ ÀÏÄ¡ÇÏ´Â ÆÐŰÁö°¡ ÀÖÀ»Áö ¾î¶³Áö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù. ÇØ´çÇÏ´Â ÆÐŰÁö°¡ ÀÖ¾úÀ» °æ¿ì´Â Á¢±Ù ±ÇÇÑ RuntimePermission("accessClassInPackage. "+pkg)¸¦ ÁöÁ¤ÇØ checkPermissionÀ»
È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µåÀÇ 1 Çà °·Î¼ super.checkPackageAccess
È£ÃâÀÌ ÇÊ¿äÇÕ´Ï´Ù.
pkg - ÆÐŰÁö¸í
SecurityException - È£ÃâÃø thread¿¡
ÁöÁ¤µÈ ÆÐŰÁö¿¡ÀÇ Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì
NullPointerException - ÆÐŰÁö¸íÀÇ Àμö°¡ nullÀÎ °æ¿ìloadClass,
getProperty,
checkPermission public void checkPackageDefinition(String pkg)
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â ÀϺÎÀÇ Å¬·¡½º ·Î´õÀÇ loadClass ¸Þ¼µå°¡ »ç¿ëÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â ÃÖÃÊ·Î java.security.Security.getProperty("package.definition")¸¦ È£ÃâÇØ ÄÞ¸¶ ´Ü¶ô Çü½ÄÀÇ ¸®½ºÆ®¸¦ ¾ò´Â °ÍÀ¸·Î½á, Á¦ÇѺΠÆÐŰÁöÀÇ ¸®½ºÆ®¸¦ ÃëµæÇÕ´Ï´Ù. ´ÙÀ½¿¡
Á¦ÇѺΠÆÐŰÁö¾È¿¡ pkg·Î
½ÃÀ۵Ǵ ÆÐŰÁö ¶Ç´Â pkg¿¡ ÀÏÄ¡ÇÏ´Â ÆÐŰÁö°¡ ÀÖÀ»Áö ¾î¶³Áö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù. ÇØ´çÇÏ´Â ÆÐŰÁö°¡ ÀÖ¾úÀ» °æ¿ì´Â Á¢±Ù ±ÇÇÑ RuntimePermission("defineClassInPackage. "+pkg)¸¦ ÁöÁ¤ÇØ checkPermissionÀ»
È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µåÀÇ 1 Çà °·Î¼ super.checkDefinition
È£ÃâÀÌ ÇÊ¿äÇÕ´Ï´Ù.
pkg - ÆÐŰÁö¸í
SecurityException - È£ÃâÃø thread¿¡
ÁöÁ¤µÈ ÆÐŰÁöÁßÀÇ Å¬·¡½º¸¦ Á¤ÀÇÇϱâ À§ÇÑ Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ìClassLoader.loadClass(java.lang.String, boolean),
getProperty,
checkPermission public void checkSetFactory()
ServerSocket ¶Ç´Â SocketÀÌ »ç¿ëÇÏ´Â ¼ÒÄÏ ÆÑÅ丮, ¶Ç´Â URL°¡ »ç¿ëÇÏ´Â ½ºÆ®¸² Çڵ鷯 ÆÑÅ丮¸¦ ¼³Á¤ÇÏ´Â °ÍÀÌ È£ÃâÃø thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â Á¢±Ù ±ÇÇÑ RuntimePermission("setFactory")·Î
checkPermissionÀ»
È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µå°¡ º¸ÅëÀÌ¸é ¿¹¿Ü¸¦ Throw ÇÏ´Â À§Ä¡¿¡¼ super.checkSetFactory ÀÌ ºÒ·Á°¡
µµ·ÏÀÇÇØ ÁÖ¼¼¿ä.
SecurityException - È£ÃâÃø thread¿¡
¼ÒÄÏ ÆÑÅ丮, ¶Ç´Â ½ºÆ®¸² Çڵ鷯 ÆÑÅ丮¸¦ ÁöÁ¤Çϱâ À§ÇÑ Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ìsetSocketFactory,
setSocketImplFactory,
setURLStreamHandlerFactory,
checkPermission
public void checkMemberAccess(Class <? > clazz,
int which)
SecurityExceptionÀ»
Throw ÇÕ´Ï´Ù.
µðÆúÆ®ÀÇ Á¤Ã¥¿¡ ¼´Â PUBLIC ¸â¹ö¿¡ÀÇ ¾×¼¼½º¶ó°í È£ÃâÇØ ¿·°ú °°Àº Ŭ·¡½º ·Î´õ¸¦ °¡Áö´Â Ŭ·¡½º¿¡ÀÇ ¾×¼¼½º°¡ Çã°¡µÇ°í ÀÖ½À´Ï´Ù. ±× ÀÌ¿ÜÀÇ Å¬·¡½º¿¡ÀÇ ¾×¼¼½ºÀÇ °æ¿ì, ÀÌ ¸Þ¼µå´Â Á¢±Ù ±ÇÇÑ RuntimePermission("accessDeclaredMembers")¸¦ ÁöÁ¤ÇØ checkPermissionÀ»
È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇßÀ» °æ¿ì, super.checkMemberAccess¸¦ È£ÃâÇÒ ¼ö ¾ø½À´Ï´Ù. À̰ÍÀº, checkMemberAccess
µðÆúÆ®ÀÇ ±¸ÇöÀÌ, ½ºÅÃÀÇ ±íÀÌ 4¿¡ Àִ üũ ÁøÇàÁßÀÇ Äڵ忡
Á¸Çϱ⠶§¹®¿¡ÀÔ´Ï´Ù.
clazz - ¸®Ç÷º¼ÇÀÌ ½ÇÇàµÇ´Â Ŭ·¡½ºwhich - ¾×¼¼½ºÀÇ Å¸ÀÔ. PUBLIC ¶Ç´Â DECLARED
SecurityException - È£Ãâ Ãø¿¡ ¸â¹ö¿¡ÀÇ Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì
NullPointerException - clazzÀμö°¡ nullÀÎ °æ¿ìMember,
checkPermission public void checkSecurityAccess(String target)
¿ä±¸µÈ Á¢±Ù ±ÇÇÑÀ» Çã°¡ÇÏ´Â °æ¿ì, ÀÌ ¸Þ¼µå´Â ¾Æ¹«°Íµµ ÇÏÁö ¾Ê°í º¹±ÍÇÕ´Ï´Ù. °ÅºÎÇÏ´Â °æ¿ì´Â SecurityException°¡ ¹ß»ý µË´Ï´Ù.
ÀÌ ¸Þ¼µå´Â ÁöÁ¤µÈ Á¢±Ù ±ÇÇÑ Å¸°Ù¸íÀÇ SecurityPermission °´Ã¼¸¦ »ý¼ºÇØ, ´ÙÀ½¿¡
±× Á¢±Ù ±ÇÇÑÀ» ÁöÁ¤ÇØ checkPermissionÀ»
È£ÃâÇÕ´Ï´Ù.
ÁöÁ¤ÇÒ ¼ö ÀÖ´Â Á¢±Ù ±ÇÇÑ Å¸°Ù¸íÀÇ ¸®½ºÆ®¿¡ ´ëÇØ¼´Â
¹®¼¸¦ ÂüÁ¶ÇϽʽÿÀ.
SecurityPermission
ÀÌ ¸Þ¼µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼µå°¡ º¸ÅëÀÌ¸é ¿¹¿Ü¸¦ Throw ÇÏ´Â À§Ä¡¿¡¼ super.checkSecurityAccess°¡ ºÒ·Á°¡
µµ·ÏÀÇÇØ ÁÖ¼¼¿ä.
target - SecurityPermission
Ÿ°Ù¸í
SecurityException - È£ÃâÃø thread¿¡
¿ä±¸µÈ ¾×¼¼½º¿¡ ÇÊ¿äÇÑ Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì
NullPointerException - targetÀÌ
nullÀÎ °æ¿ì
IllegalArgumentException - targetÀÌ
ºñ¾îÀÖ´Â °æ¿ìcheckPermission public ThreadGroup getThreadGroup()
ThreadGroup
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
| °³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.