|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
java.lang.Object | +--java.lang.SecurityManager
½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú´Â ¾îÇø®ÄÉÀ̼ÇÀ¸·Î ½ÃÅ¥·¯Æ¼ Æú¸®½Ã¸¦ ±¸ÇöÇÒ ¼ö ÀÖ°Ô Çϴ Ŭ·¡½ºÀÔ´Ï´Ù. ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú¸¦ »ç¿ëÇϸé, ½ÃÅ¥·¯Æ¼¸¦ ÇØÄ¥ ¿ì·Á°¡ ÀÖ´Â Á¶ÀÛÀ» ½ÇÇàÇϱâ Àü¿¡, Á¶ÀÛÀÌ ¹«¾ùÀ¸·Î Àִ°¡ ÇÏ´Â °ÍÀ¸·Î, ½ÃÅ¥·¯Æ¼ ¹®¸Æ³»¿¡¼ ±× Á¶ÀÛÀÇ ½ÇÇàÀÌ Çã°¡µÇ°í ÀÖ´ÂÁö ¾î¶²Áö°¡ ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ ÆÇ´ÜÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀº ±×·¯ÇÑ Á¶ÀÛÀ» ±ÝÁöÇϰųª Çã°¡Çϰųª ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
SecurityManager
Ŭ·¡½º¿¡´Â À̸§ÀÌ check
¶ó°í Çϴ ij¸¯ÅÍ·Î ½ÃÀ۵Ǵ ¸Þ¼Òµå°¡ ¸¹ÀÌ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¸Þ¼Òµå´Â Java ÇÁ·Î±×·¥ ¶óÀ̺귯¸®³»ÀÇ °¢Á¾ ¸Þ¼Òµå¿¡ ÀÇÇØ, ½ÃÅ¥·¯Æ¼¸¦ ÇØÄ¥ °¡´É¼ºÀÌ ÀÖ´Â Á¶ÀÛÀ» ½ÇÇàÇϱâ Àü¿¡ ºÒ·Á °©´Ï´Ù. ÀÌ·¯ÇÑ check
¸Þ¼Òµå È£ÃâÀÇ ÀϹÝÀûÀÎ ¿¹¸¦ ´ÙÀ½¿¡ ³ªÅ¸³À´Ï´Ù.
SecurityManager security = System.getSecurityManager(); if (security ! = null) { security.checkXXX(argument, . . . ); }
½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú¿¡´Â ¿¹¿ÜÀÇ ½½·Î¿ì¿¡¼ÀÇ Á¶ÀÛ ¿Ï·á¸¦ ¸·À» ±âȸ°¡ ÁÖ¾îÁý´Ï´Ù. ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú routine´Â Á¶ÀÛÀÌ Çã°¡µÇ´Â °æ¿ì´Â ¾Æ¹«°Íµµ ½Ç½ÃÇÏÁö ¾Ê°í º¹±ÍÇÕ´Ï´Ù. Á¶ÀÛÀÌ Çã°¡µÇÁö ¾Ê´Â °æ¿ì´Â SecurityException
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù. ´Ù¸¸,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
¶ó°í ÇÏ´Â ¾×¼¼½º±Çµµ ÀÖ½À´Ï´Ù. À̰ÍÀº ¸ðµç (ȤÀº ¸¹Àº) ¾×¼¼½º±ÇÀ» ¿ä±¸ÇÏ´Â º¹¼öÀÇ Å½ºÅ©¸¦ ½ÇÇàÇÒ Çʿ䰡 ÀÖ´Â ½Ã½ºÅÛ °ü¸® Ã¥ÀÓÀÚÀÇ ÀÛ¾÷À» ´Ü¼øÈÇϱâ À§ÇÑ ¾×¼¼½º±ÇÀÔ´Ï´Ù.
¾×¼¼½º±Ç¿¡ °üÇÑ Á¤º¸¿¡ ´ëÇØ¼´Â ¡¸Java 2 SDK ¿¡ ÀÖ¾î¼ÀÇ ¾×¼¼½º±Ç¡¹À» ÂüÁ¶Çضó°í ÁÖ¼¼¿ä. ÀÌ ¹®¼¿¡´Â SecurityManager ÀÇ °¢Á¾ check
¸Þ¼Òµå³ª, ±×·¯ÇÑ ¸Þ¼ÒµåÀÇ µðÆúÆ®ÀÇ ±¸Çö¿¡ ÇÊ¿äÇÑ ¾×¼¼½º±ÇÀÇ À϶÷Ç¥°¡ ÀÖ½À´Ï´Ù. ¶Ç, ¾×¼¼½º±ÇÀ» ÇÊ¿ä·Î ÇÏ´Â ¹öÁ¯ 1.2 ÀÇ ¸ðµç ¸Þ¼Òµå¿Í °¢ ¸Þ¼Òµå¿¡ ÇÊ¿äÇÑ ¾×¼¼½º±ÇÀ» Á¤¸®ÇÑ Ç¥µµ ÀÖ½À´Ï´Ù.
Java 2 SDK ¿¡¼ÀÇ 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 ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
|
void |
checkAccess (Thread t)
È£ÃâÃøÀÇ thread°¡ thread ÀμöÀÇ ¼öÁ¤À» Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡, SecurityException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
|
void |
checkAccess (ThreadGroup g)
È£ÃâÃøÀÇ thread°¡, thread ±×·ìÀÇ Àμö¸¦ ¼öÁ¤ÇÏ´Â °ÍÀ» Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡, SecurityException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
|
void |
checkAwtEventQueueAccess ()
AWT À̺¥Æ® Å¥¿¡ÀÇ ¾×¼¼½º°¡ È£ÃâÇØ ¿·thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡, SecurityException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
|
void |
checkConnect (String host,
int port)
ÁöÁ¤µÈ È£½ºÆ®¿Í Æ÷Åä ¹øÈ£¿¡ÀÇ ¼ÒÄÏ Á¢¼ÓÀ» ¿ÀÇÂÇÏ´Â °ÍÀÌ, È£ÃâÃø thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡, SecurityException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
|
void |
checkConnect (String host,
int port,
Object context)
ÁöÁ¤µÈ ½ÃÅ¥·¯Æ¼ ¹®¸ÆÀÌ, ÁöÁ¤µÈ È£½ºÆ®¿Í Æ÷Åä ¹øÈ£¿¡ÀÇ ¼ÒÄÏ Á¢¼ÓÀ» ¿ÀÇÂÇÏ´Â ¾×¼¼½º±ÇÀ» °¡Áö°í ÀÖÁö ¾ÊÀº °æ¿ì¿¡, SecurityException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
|
void |
checkCreateClassLoader ()
È£ÃâÃøÀÇ thread°¡ »õ·Î¿î Ŭ·¡½º ·Î´õÀÇ ÀÛ¼ºÀ» Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡, SecurityException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
|
void |
checkDelete (String file)
ÁöÁ¤µÈ ÆÄÀÏÀ» »èÁ¦ÇÏ´Â °ÍÀÌ È£ÃâÃø thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡, SecurityException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
|
void |
checkExec (String cmd)
¼ºê ÇÁ·Î¼¼½ºÀÇ ÀÛ¼ºÀÌ È£ÃâÇØ ¿·ÀÇ thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡, SecurityException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
|
void |
checkExit (int status)
ÁöÁ¤µÈ ½ºÅ×ÀÌÅͽº ÄÚµå·Î Java °¡»ó ¸Ó½ÅÀ» Á¤Áö½ÃŰ´Â Çã°¡¸¦, È£ÃâÃøÀÇ thread°¡ °¡Áö°í ÀÖÁö ¾ÊÀº °æ¿ì¿¡, SecurityException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
|
void |
checkLink (String lib)
ij¸¯ÅÍ ¶óÀÎ Àμö ÆÄÀÏ·Î ÁöÁ¤µÈ ÇÁ·Î±×·¥ ¶óÀ̺귯¸® Äڵ忡ÀÇ µ¿Àû ¸µÅ©°¡, È£ÃâÃøÀÇ thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡, SecurityException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù. |
void |
checkListen (int port)
ÁöÁ¤µÈ ·ÎÄà Æ÷Åä ¹øÈ£·Î Á¢¼Ó ¿ä±¸¸¦ ´ë±âÇÏ´Â °ÍÀÌ È£ÃâÃø thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡, SecurityException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
|
void |
checkMemberAccess (Class clazz,
int which)
¸â¹ö¿¡ÀÇ ¾×¼¼½º°¡ È£ÃâÇØ ¿·thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡, SecurityException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
|
void |
checkMulticast (InetAddress maddr)
IP ¸ÖƼ ij½ºÆ® (join/leave/send/receive)ÀÇ »ç¿ëÀÌ È£ÃâÇØ ¿·thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡, SecurityException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
|
void |
checkMulticast (InetAddress maddr,
byte ttl)
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. ´ë½Å¿¡ #checkPermission(java.security.Permission)¸¦ »ç¿ëÇÑ´Ù |
void |
checkPackageAccess (String pkg)
Àμö·Î ÁöÁ¤µÈ ÆÐŰÁö¿¡ÀÇ ¾×¼¼½º°¡ È£ÃâÇØ ¿·thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡, SecurityException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
|
void |
checkPackageDefinition (String pkg)
Àμö·Î ÁöÁ¤µÈ ÆÐŰÁö³»ÀÇ Å¬·¡½º¸¦ Á¤ÀÇÇÏ´Â °ÍÀÌ È£ÃâÃø thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡, SecurityException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
|
void |
checkPermission (Permission perm)
ÁöÁ¤µÈ ¾×¼¼½º±ÇÀ¸·Î ¿ä±¸ÇÑ ¾×¼¼½º°¡, ÇöÀç À¯È¿ÇÑ ½ÃÅ¥·¯Æ¼ Æú¸®½Ã¿¡ ºñÃß¾î Çã°¡µÇÁö ¾Ê¾Ò´ø °æ¿ì¿¡ SecurityException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
|
void |
checkPermission (Permission perm,
Object context)
ÁöÁ¤µÈ ½ÃÅ¥·¯Æ¼ ¹®¸Æ¿¡ ´ëÇØ, ÁöÁ¤µÈ ¾×¼¼½º±ÇÀÌ °¡¸®Å°´Â ¸®¼Ò½º¿¡ÀÇ ¾×¼¼½º°¡ °ÅºÎµÇ¾úÀ» °æ¿ì¿¡ SecurityException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù. |
void |
checkPrintJobAccess ()
Àμâ ÀÛ¾÷ ¿ä±¸ÀÇ °³½Ã°¡ È£ÃâÇØ ¿·thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡, SecurityException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
|
void |
checkPropertiesAccess ()
½Ã½ºÅÛ ÇÁ·ÎÆÛƼÀÇ ¾×¼¼½º ¶Ç´Â ¼öÁ¤ÀÌ È£ÃâÇØ ¿·thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡, SecurityException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
|
void |
checkPropertyAccess (String key)
key ·Î ÁöÁ¤µÈ ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ¿¡ÀÇ ¾×¼¼½º°¡, È£ÃâÃø thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡,SecurityException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
|
void |
checkRead (FileDescriptor fd)
ÁöÁ¤µÈ ÆÄÀÏ ±â¼úÀڷκÎÅÍÀÇ read°¡ È£ÃâÇØ ¿·ÀÇ thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡, SecurityException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
|
void |
checkRead (String file)
ij¸¯ÅÍ ¶óÀÎ Àμö·Î ÁöÁ¤µÈ ÆÄÀÏÀÇ read°¡ È£ÃâÇØ ¿·ÀÇ thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡, SecurityException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
|
void |
checkRead (String file,
Object context)
ij¸¯ÅÍ ¶óÀÎ Àμö·Î ÁöÁ¤µÈ ÆÄÀÏÀ» Àо´Â Çã°¡°¡, ÁöÁ¤µÈ ½ÃÅ¥·¯Æ¼ ¹®¸Æ¿¡ ¾ø´Â °æ¿ì¿¡, SecurityException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù. |
void |
checkSecurityAccess (String target)
ÁöÁ¤µÈ ¾×¼¼½º±Ç Ÿ°Ù¸íÀÇ ¾×¼¼½º±ÇÀ» Çã°¡Çϵ簡, ȤÀº °ÅºÎÇÏ´ÂÁö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù. |
void |
checkSetFactory ()
ServerSocket ¶Ç´Â Socket °¡ »ç¿ëÇÏ´Â ¼ÒÄÏ ÆÑÅ丮, ¶Ç´Â URL °¡ »ç¿ëÇÏ´Â ½ºÆ®¸² Çڵ鷯 ÆÑÅ丮¸¦ ¼³Á¤ÇÏ´Â °ÍÀÌ È£ÃâÃø thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡,SecurityException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
|
void |
checkSystemClipboardAccess ()
½Ã½ºÅÛ Å¬¸³º¸µå¿¡ÀÇ ¾×¼¼½º°¡ È£ÃâÇØ ¿·thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡, SecurityException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
|
boolean |
checkTopLevelWindow (Object window)
window Àμö·Î ÁöÁ¤µÈ Åé ·¹º§ÀÇ À©µµ¿ì¸¦ Ç¥½ÃÇϱâ À§ÇÑ ½Å·Ú°¡ È£ÃâÇØ ¿·thread¿¡ ¾ø´Â °æ¿ì¿¡,false ¸¦ µ¹·ÁÁÝ´Ï´Ù. |
void |
checkWrite (FileDescriptor fd)
ÁöÁ¤µÈ ÆÄÀÏ ±â¼úÀÚ¿¡°Ô·ÎÀÇ ±âÀÔÀÌ È£ÃâÇØ ¿·thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡, SecurityException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
|
void |
checkWrite (String file)
ij¸¯ÅÍ ¶óÀÎ Àμö·Î ÁöÁ¤µÈ ÆÄÀÏ¿¡ÀÇ ±âÀÔÀÌ È£ÃâÇØ ¿·thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡, SecurityException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
|
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 |
ÇʵåÀÇ »ó¼¼ |
protected boolean inCheck
checkPermission
ÀÇ È£ÃâÀ» »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù.
true
ÀÔ´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
ÀÔ´Ï´Ù.
»ý¼ºÀÚÀÇ »ó¼¼ |
public SecurityManager()
SecurityManager
¸¦ ±¸ÃàÇÕ´Ï´Ù.
½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ ¹ú½á ÀνºÅç µÇ°í ÀÖ´Â °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ÃÖÃÊ·Î ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkPermission
¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù. ÀÌ ¶§,RuntimePermission("createSecurityManager")
¾×¼¼½º±ÇÀ» »ç¿ëÇÏ´Â °ÍÀ¸·Î½á, È£ÃâÃøÀÇ thread°¡ »õ·Î¿î ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú¸¦ ÀÛ¼ºÇÏ´Â ¾×¼¼½º±ÇÀ» È®½ÇÈ÷ °¡Áöµµ·Ï(µíÀÌ) ÇÕ´Ï´Ù. ÀÌ °á°ú,SecurityException
°¡ ½½·Î¿ì µÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
SecurityException
- ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ ¹ú½á ÀÖ¾î, ±× checkPermission
¸Þ¼Òµå°¡, »õ·Î¿î ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ ÀÛ¼ºÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ìSystem.getSecurityManager()
,
checkPermission
,
RuntimePermission
¸Þ¼ÒµåÀÇ »ó¼¼ |
public boolean getInCheck()
checkPermission
ÀÇ È£ÃâÀ» »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù.
inCheck
ÇʵåÀÇ °ª. ½ÃÅ¥·¯Æ¼ üũ°¡ ÁøÇàÁßÀÇ °æ¿ì´Â true
, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
inCheck
protected Class [] getClassContext()
¹è¿ÀÇ ±æÀÌ´Â ½ÇÇà ½ºÅÃ»ó¿¡ ÀÖ´Â ¸Þ¼ÒµåÀÇ ¼ö°¡ µË´Ï´Ù. À妽º 0
ÀÇ ¿ä¼Ò´Â ÇöÀç ¸Þ¼Òµå¸¦ ½ÇÇàÁßÀÇ Å¬·¡½º, À妽º 1
ÀÇ ¿ä¼Ò´Â ±× ¸Þ¼ÒµåÀÇ È£Ãâ Ŭ·¡½º°¡ µË´Ï´Ù.
protected ClassLoader currentClassLoader()
checkPermission
ÀÇ È£ÃâÀ» »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù.
ClassLoader.getSystemClassLoader()
¿¡ ÀÇÇØ µ¹·ÁÁÖ¾îÁö´Â ½Ã½ºÅÛ Å¬·¡½º ·Î´õ¿Íµµ, °Ô´Ù°¡ À§¿ÀºêÁ§Æ®ÀÇ ¾î¶² °Í°úµµ µ¿ÀÏÇÏÁö ¾ÊÀº Ŭ·¡½º ·Î´õÀÔ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ´ÙÀ½ÀÇ 3 °³ÀÇ °æ¿ì¿¡ null
¸¦ µ¹·ÁÁÝ´Ï´Ù.
AccessController.doPrivileged(java.security.PrivilegedAction)
¸¦ ÂüÁ¶)±îÁöÀÇ ½ÇÇà ½ºÅÿ¡ ÀÖ´Â ¸ðµç ¸Þ¼Òµå°¡, ½Ã½ºÅÛ Å¬·¡½º ·Î´õ ¶Ç´Â °Ô´Ù°¡ À§¿ÀºêÁ§Æ®ÀÇ 1 °³¸¦ »ç¿ëÇØ Á¤ÀÇµÈ Å¬·¡½ºÀÇ ¸Þ¼ÒµåÀÌ´Ù
java.security.AllPermission
¸¦ »ç¿ëÇØ checkPermission
¸¦ È£ÃâÇßÀ» ¶§¿¡, °á°ú°¡ SecurityException ´Â ¾Æ´Ï´Ù
getSystemClassLoader
,
checkPermission
protected Class currentLoadedClass()
checkPermission
ÀÇ È£ÃâÀ» »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù.
ClassLoader.getSystemClassLoader()
·Î µ¹·ÁÁÖ¾îÁö´Â ½Ã½ºÅÛ Å¬·¡½º ·Î´õ¿Íµµ, °Ô´Ù°¡ À§¿ÀºêÁ§Æ®ÀÇ ¾î¶² °Í°úµµ µ¿ÀÏÇÏÁö ¾ÊÀº Ŭ·¡½º ·Î´õÀÔ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ´ÙÀ½ÀÇ 3 °³ÀÇ °æ¿ì¿¡ null
¸¦ µ¹·ÁÁÝ´Ï´Ù.
AccessController.doPrivileged(java.security.PrivilegedAction)
¸¦ ÂüÁ¶)±îÁöÀÇ ½ÇÇà ½ºÅÿ¡ ÀÖ´Â ¸ðµç ¸Þ¼Òµå°¡, ½Ã½ºÅÛ Å¬·¡½º ·Î´õ ¶Ç´Â °Ô´Ù°¡ À§¿ÀºêÁ§Æ®ÀÇ 1 °³¸¦ »ç¿ëÇØ Á¤ÀÇµÈ Å¬·¡½ºÀÇ ¸Þ¼ÒµåÀÌ´Ù
java.security.AllPermission
¸¦ »ç¿ëÇØ checkPermission
¸¦ È£ÃâÇßÀ» ¶§¿¡, °á°ú°¡ SecurityException ´Â ¾Æ´Ï´Ù
getSystemClassLoader
,
checkPermission
protected int classDepth(String name)
checkPermission
ÀÇ È£ÃâÀ» »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù.
name
- °Ë»öÇϴ Ŭ·¡½ºÀÇ ¿ÏÀü ÁöÁ¤ÀÇ À̸§
-1
protected int classLoaderDepth()
checkPermission
ÀÇ È£ÃâÀ» »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù.
ClassLoader.getSystemClassLoader()
¿¡ ÀÇÇØ µ¹·ÁÁÖ¾îÁö´Â ½Ã½ºÅÛ Å¬·¡½º ·Î´õ¿Íµµ, °Ô´Ù°¡ À§¿ÀºêÁ§Æ®ÀÇ ¾î¶² °Í°úµµ µ¿ÀÏÇÏÁö ¾ÊÀº Ŭ·¡½º ·Î´õÀÔ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ´ÙÀ½ÀÇ °æ¿ì¿¡ -1 ¸¦ µ¹·ÁÁÝ´Ï´Ù.
AccessController.doPrivileged(java.security.PrivilegedAction)
¸¦ ÂüÁ¶)±îÁöÀÇ ½ÇÇà ½ºÅÿ¡ ÀÖ´Â ¸ðµç ¸Þ¼Òµå°¡, ½Ã½ºÅÛ Å¬·¡½º ·Î´õ ¶Ç´Â °Ô´Ù°¡ À§¿ÀºêÁ§Æ®ÀÇ 1 °³¸¦ »ç¿ëÇØ Á¤ÀÇµÈ Å¬·¡½ºÀÇ ¸Þ¼ÒµåÀÌ´Ù
java.security.AllPermission
¸¦ »ç¿ëÇØ checkPermission
¸¦ È£ÃâÇßÀ» ¶§¿¡, °á°ú°¡ SecurityException ´Â ¾Æ´Ï´Ù
getSystemClassLoader
,
checkPermission
protected boolean inClass(String name)
checkPermission
ÀÇ È£ÃâÀ» »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù.
name
- Ŭ·¡½ºÀÇ ¿ÏÀü ÁöÁ¤ÀÇ À̸§
true
, ¾ø´Â °æ¿ì´Â false
protected boolean inClassLoader()
checkPermission
ÀÇ È£ÃâÀ» »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù.
currentClassLoader
ÀÇ È£ÃâÀÇ ¹Ýȯ°ªÀÌ null °¡ ¾Æ´Ñ °æ¿ì´Â true
currentClassLoader
public Object getSecurityContext()
checkConnect
¸Þ¼Òµå³ª, 2 °³ÀÇ Àμö¸¦ ÃëÇÏ´Â checkRead
¸Þ¼ÒµåµîÀ¸·Î »ç¿ëÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¸Þ¼Òµå°¡ ÇÊ¿äÇÑ °ÍÀº ½Å·ÚÇÒ ¼ö ÀÖ´Â ¸Þ¼Òµå°¡, ´Ù¸¥ ¸Þ¼Òµå ´ë½Å¿¡ ÆÄÀÏÀ» ÀоîµéÀ̰ųª ¼ÒÄÏÀ» ¿ÀÇÂÇϰųª Çϱâ À§Çؼ ºÒ·Á °¡±â ¶§¹®ÀÔ´Ï´Ù. ½Å·ÚÇÒ ¼ö ÀÖ´Â ¸Þ¼Òµå´Â ´Ù¸¥ (¾î¼¸é ½Å·ÚÇÒ ¼ö ¾ø´Ù) ¸Þ¼Òµå°¡ ±× Á¶ÀÛÀ» ½º½º·Î ½Ç½ÃÇÏ´Â °ÍÀ» Çã°¡µÇ°í ÀÖ´ÂÁö ¾î¶²Áö¸¦, ÆÇÁ¤ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
ÀÌ ¸Þ¼ÒµåÀÇ µðÆúÆ®ÀÇ ±¸ÇöÀº AccessControlContext
¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù.
checkConnect
,
checkRead
,
AccessControlContext
public void checkPermission(Permission perm)
SecurityException
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ÁöÁ¤µÈ ¾×¼¼½º±ÇÀ¸·Î AccessController.checkPermission
¸¦ È£ÃâÇÕ´Ï´Ù.
perm
- ¿ä±¸ ¾×¼¼½º±Ç
SecurityException
- ÇöÀçÀÇ ½ÃÅ¥·¯Æ¼ Æú¸®½Ã¿¡ ÀÇÇØ ¾×¼¼½º°¡ °ÅºÎµÇ¾úÀ» °æ¿ì
NullPointerException
- ¾×¼¼½º±ÇÀÇ Àμö°¡ null
ÀÇ °æ¿ìpublic void checkPermission(Permission perm, Object context)
SecurityException
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù. 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
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ¾×¼¼½º±Ç RuntimePermission("createClassLoader")
·Î checkPermission
¸¦ È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼Òµå°¡ Åë»óÀÌ¸é ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â À§Ä¡¿¡¼ super.checkCreateClassLoader
°¡ ºÒ·Á °¡µµ·Ï ÇØ ÁÖ¼¼¿ä.
SecurityException
- È£ÃâÃøÀÇ thread°¡, »õ·Î¿î Ŭ·¡½º ·Î´õ¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ´Â ¾×¼¼½º±ÇÀ» °¡ÁöÁö ¾Ê´Â °æ¿ìClassLoader.ClassLoader()
,
checkPermission
public void checkAccess(Thread t)
SecurityException
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â Thread
Ŭ·¡½ºÀÇ stop
,suspend
,resume
,setPriority
,setName
,setDaemon
ÀÇ °¢ ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â °Í¿¡ ÀÇÇØ, ÇöÀçÀÇ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú¿¡ ´ëÇØ¼ ºÒ·Á °©´Ï´Ù.
threadÀÇ Àμö°¡ ½Ã½ºÅÛ thread (ºÎ¸ð°¡ null
ÀÎ thread ±×·ì¿¡ ¼ÓÇÏ´Â °Í)ÀÎ °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ¾×¼¼½º±Ç RuntimePermission("modifyThread")
¸¦ ÁöÁ¤ÇØ checkPermission
À» È£ÃâÇÕ´Ï´Ù. threadÀÇ Àμö°¡ ½Ã½ºÅÛ thread°¡ ¾Æ´Ñ °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ¾Æ¹«°Íµµ ÇÏÁö ¾Ê°í º¹±ÍÇÕ´Ï´Ù.
º¸´Ù ¾ö¹ÐÇÑ Æú¸®½Ã°¡ ÇÊ¿äÇÑ ¾îÇø®ÄÉÀ̼ÇÀÇ °æ¿ì´Â ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇØ ÁÖ¼¼¿ä. ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì, ¿À¹ö¶óÀ̵å(override)ÃøÀÇ ¸Þ¼Òµå´Â È£ÃâÃø thread°¡ RuntimePermission("modifyThread")
¾×¼¼½º±ÇÀ» °¡ÁúÁö ¾î¶³Áöµµ È®ÀÎÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ¾×¼¼½º±ÇÀ» °¡Áö°í ÀÖ´Â °æ¿ì, ÀÌ ¸Þ¼Òµå°¡ ¾Æ¹«°Íµµ ÇÏÁö ¾Ê°í º¹±ÍÇϵµ·Ï ÇØ ÁÖ¼¼¿ä. À̰Ϳ¡ ÀÇÇØ, ÀÌ ¾×¼¼½º±ÇÀÌ Çã°¡µÈ ÄÚµå (¿¹¸¦ µé¾î SDK ÀÚ½Å)´Â ÀÓÀÇÀÇ 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
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ¾ÆÀÌ thread ¶Ç´Â ¾ÆÀÌ thread ±×·ìÀÌ »õ·Ó°Ô ÀÛ¼ºµÇ¾úÀ» ¶§¿¡,ThreadGroup
Ŭ·¡½ºÀÇ setDaemon
,setMaxPriority
,stop
,suspend
,resume
,destroy
ÀÇ °¢ ¸Þ¼Òµå¿¡ ÀÇÇØ, ÇöÀçÀÇ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú¿¡ ´ëÇØ¼ ºÒ·Á °©´Ï´Ù.
thread ±×·ìÀÇ Àμö°¡ ½Ã½ºÅÛ thread ±×·ì (ºÎ¸ð°¡ null
)ÀÎ °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ¾×¼¼½º±Ç RuntimePermission("modifyThreadGroup")
¸¦ ÁöÁ¤ÇØ checkPermission
À» È£ÃâÇÕ´Ï´Ù. thread ±×·ìÀÇ Àμö°¡ ½Ã½ºÅÛ thread ±×·ìÀÌ ¾Æ´Ñ °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ¾Æ¹«°Íµµ ÇÏÁö ¾Ê°í º¹±ÍÇÕ´Ï´Ù.
º¸´Ù ¾ö¹ÐÇÑ Æú¸®½Ã°¡ ÇÊ¿äÇÑ ¾îÇø®ÄÉÀ̼ÇÀÇ °æ¿ì´Â ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇØ ÁÖ¼¼¿ä. ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì, ¿À¹ö¶óÀ̵å(override)ÃøÀÇ ¸Þ¼Òµå´Â È£ÃâÃø thread°¡ RuntimePermission("modifyThreadGroup")
¾×¼¼½º±ÇÀ» °¡ÁúÁö ¾î¶³Áöµµ È®ÀÎÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ¾×¼¼½º±ÇÀ» °¡Áö°í ÀÖ´Â °æ¿ì, ÀÌ ¸Þ¼Òµå°¡ ¾Æ¹«°Íµµ ÇÏÁö ¾Ê°í º¹±ÍÇϵµ·Ï ÇØ ÁÖ¼¼¿ä. À̰Ϳ¡ ÀÇÇØ, ÀÌ ¾×¼¼½º±ÇÀÌ Çã°¡µÈ ÄÚµå (¿¹¸¦ µé¾î SDK ÀÚ½Å)´Â ÀÓÀÇÀÇ 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
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â Runtime
Ŭ·¡½ºÀÇ exit
¸Þ¼Òµå¿¡ ÀÇÇØ, ÇöÀçÀÇ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú¿¡ ´ëÇØ¼ ºÒ·Á °©´Ï´Ù. ½ºÅ×ÀÌÅͽº ÄÚµå 0
Àº ¼º°øÀ» ³ªÅ¸³», ±× ¿ÜÀÇ °ªÀº °¢Á¾ÀÇ ¿¡·¯¸¦ ³ªÅ¸³À´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ¾×¼¼½º±Ç RuntimePermission("exitVM")
·Î checkPermission
¸¦ È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼Òµå°¡ Åë»óÀÌ¸é ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â À§Ä¡¿¡¼ super.checkExit
°¡ ºÒ·Á °¡µµ·Ï ÇØ ÁÖ¼¼¿ä.
status
- Á¾·áÀÇ ½ºÅ×ÀÌÅͽº
SecurityException
- ÁöÁ¤µÈ ½ºÅ×ÀÌÅͽº·Î Java °¡»ó ¸Ó½ÅÀ» Á¤Áö½ÃŰ´Â ¾×¼¼½º±ÇÀÌ, È£ÃâÃø thread¿¡ ¾ø´Â °æ¿ìexit
,
checkPermission
public void checkExec(String cmd)
SecurityException
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â Runtime
Ŭ·¡½ºÀÇ exec
¸Þ¼Òµå¿¡ ÀÇÇØ, ÇöÀçÀÇ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú¿¡ ´ëÇØ¼ ºÒ·Á °©´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â cmd °¡ Àý´ë ÆÐ½ºÀÇ °æ¿ì´Â ¾×¼¼½º±Ç FilePermission(cmd,"execute")
¸¦ ÁöÁ¤ÇØ checkPermission
¸¦ È£ÃâÇØ, ±×·¸Áö ¾ÊÀº °æ¿ì´Â FilePermission("<<ALL FILES>>","execute")
¸¦ ÁöÁ¤ÇØ checkPermission
¸¦ È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼Òµå°¡ Åë»óÀÌ¸é ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â À§Ä¡¿¡¼ 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
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù. Àμö¿¡´Â ÇÁ·Î±×·¥ ¶óÀ̺귯¸®¸í¸¸À» ÁöÁ¤ÇÏ´ÂÁö Àý´ë ÆÐ½ºÀÇ ÆÄÀϸíÀ» ÁöÁ¤ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â Runtime
Ŭ·¡½ºÀÇ load
¸Þ¼Òµå¿Í loadLibrary
¸Þ¼Òµå¿¡ ÀÇÇØ, ÇöÀçÀÇ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú¿¡ ´ëÇØ¼ ºÒ·Á °©´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ¾×¼¼½º±Ç RuntimePermission("loadLibrary. "+lib)
·Î checkPermission
¸¦ È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼Òµå°¡ Åë»óÀÌ¸é ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â À§Ä¡¿¡¼ 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
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ¾×¼¼½º±Ç RuntimePermission("readFileDescriptor")
·Î checkPermission
¸¦ È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼Òµå°¡ Åë»óÀÌ¸é ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â À§Ä¡¿¡¼ super.checkRead
°¡ ºÒ·Á °¡µµ·Ï ÇØ ÁÖ¼¼¿ä.
fd
- ½Ã½ºÅÛ ÀÇÁ¸ÀÇ ÆÄÀÏ ±â¼úÀÚ
SecurityException
- È£ÃâÃø thread¿¡, ÁöÁ¤µÈ ÆÄÀÏ ±â¼úÀÚ¿¡°Ô·ÎÀÇ ¾×¼¼½º±ÇÀÌ ¾ø´Â °æ¿ì
NullPointerException
- ÆÄÀÏ ±â¼úÀÚÀÇ Àμö°¡ null
ÀÇ °æ¿ìFileDescriptor
,
checkPermission
public void checkRead(String file)
SecurityException
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ¾×¼¼½º±Ç FilePermission(file,"read")
¸¦ ÁöÁ¤ÇØ checkPermission
¸¦ È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼Òµå°¡ Åë»óÀÌ¸é ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â À§Ä¡¿¡¼ super.checkRead
°¡ ºÒ·Á °¡µµ·Ï ÇØ ÁÖ¼¼¿ä.
file
- ½Ã½ºÅÛ ÀÇÁ¸ÀÇ ÆÄÀϸí
SecurityException
- È£ÃâÃø thread¿¡, ÁöÁ¤µÈ ÆÄÀÏ¿¡ÀÇ ¾×¼¼½º±ÇÀÌ ¾ø´Â °æ¿ì
NullPointerException
- file
Àμö°¡ null
ÀÇ °æ¿ìcheckPermission
public void checkRead(String file, Object context)
SecurityException
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù. ¹®¸ÆÀº ÀÌÀüÀÇ getSecurityContext
È£Ãâ·Î µ¹·ÁÁÖ¾îÁø ½ÃÅ¥·¯Æ¼ ¹®¸ÆÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù.
context
°¡ AccessControlContext
ÀÇ ÀνºÅϽºÀÎ °æ¿ì´Â FilePermission(file,"read")
¾×¼¼½º±ÇÀ» ÁöÁ¤ÇØ AccessControlContext.checkPermission
¸Þ¼Òµå°¡ ºÒ·Á °©´Ï´Ù.
context
°¡ AccessControlContext
ÀÇ ÀνºÅϽº°¡ ¾Æ´Ñ °æ¿ì´Â SecurityException
°¡ ½½·Î¿ì µË´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼Òµå°¡ Åë»óÀÌ¸é ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â À§Ä¡¿¡¼ super.checkRead
°¡ ºÒ·Á °¡µµ·Ï ÇØ ÁÖ¼¼¿ä.
file
- ½Ã½ºÅÛ¿¡ ÀÇÁ¸ÇÏ´Â ÆÄÀϸícontext
- ½Ã½ºÅÛ ÀÇÁ¸ÀÇ ½ÃÅ¥·¯Æ¼ ¹®¸Æ
SecurityException
- ÁöÁ¤µÈ ½ÃÅ¥·¯Æ¼ ¹®¸ÆÀÌ AccessControlContext
ÀÇ ÀνºÅϽº°¡ ¾Æ´Ñ (¿¹¸¦ µé¾î null
ÀÌ´Ù)Àΰ¡, ȤÀº ÁöÁ¤µÈ ÆÄÀÏÀÇ read±ÇÀÌ ¾ø´Â °æ¿ì
NullPointerException
- file
Àμö°¡ null
ÀÇ °æ¿ìgetSecurityContext()
,
AccessControlContext.checkPermission(java.security.Permission)
public void checkWrite(FileDescriptor fd)
SecurityException
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ¾×¼¼½º±Ç RuntimePermission("writeFileDescriptor")
·Î checkPermission
¸¦ È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼Òµå°¡ Åë»óÀÌ¸é ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â À§Ä¡¿¡¼ super.checkWrite
°¡ ºÒ·Á °¡µµ·Ï ÇØ ÁÖ¼¼¿ä.
fd
- ½Ã½ºÅÛ ÀÇÁ¸ÀÇ ÆÄÀÏ ±â¼úÀÚ
SecurityException
- È£ÃâÃø thread¿¡, ÁöÁ¤µÈ ÆÄÀÏ ±â¼úÀÚ¿¡°Ô·ÎÀÇ ¾×¼¼½º±ÇÀÌ ¾ø´Â °æ¿ì
NullPointerException
- ÆÄÀÏ ±â¼úÀÚÀÇ Àμö°¡ null
ÀÇ °æ¿ìFileDescriptor
,
checkPermission
public void checkWrite(String file)
SecurityException
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ¾×¼¼½º±Ç FilePermission(file,"write")
¸¦ ÁöÁ¤ÇØ checkPermission
¸¦ È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼Òµå°¡ Åë»óÀÌ¸é ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â À§Ä¡¿¡¼ super.checkWrite
°¡ ºÒ·Á °¡µµ·Ï ÇØ ÁÖ¼¼¿ä.
file
- ½Ã½ºÅÛ¿¡ ÀÇÁ¸ÇÏ´Â ÆÄÀϸí
SecurityException
- È£ÃâÃø thread¿¡, ÁöÁ¤µÈ ÆÄÀÏ¿¡ÀÇ ¾×¼¼½º±ÇÀÌ ¾ø´Â °æ¿ì
NullPointerException
- file
Àμö°¡ null
ÀÇ °æ¿ìcheckPermission
public void checkDelete(String file)
SecurityException
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â File
Ŭ·¡½ºÀÇ delete
¸Þ¼Òµå¿¡ ÀÇÇØ, ÇöÀçÀÇ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú¿¡ ´ëÇØ¼ ºÒ·Á °©´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ¾×¼¼½º±Ç FilePermission(file,"delete")
¸¦ ÁöÁ¤ÇØ checkPermission
¸¦ È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼Òµå°¡ Åë»óÀÌ¸é ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â À§Ä¡¿¡¼ super.checkDelete
°¡ ºÒ·Á °¡µµ·Ï ÇØ ÁÖ¼¼¿ä.
file
- ½Ã½ºÅÛ¿¡ ÀÇÁ¸ÇÏ´Â ÆÄÀϸí
SecurityException
- È£ÃâÃø thread¿¡, ÁöÁ¤µÈ ÆÄÀÏÀ» »èÁ¦ÇÏ´Â ¾×¼¼½º±ÇÀÌ ¾ø´Â °æ¿ì
NullPointerException
- file
Àμö°¡ null
ÀÇ °æ¿ìFile.delete()
,
checkPermission
public void checkConnect(String host, int port)
SecurityException
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
Æ÷Åä ¹øÈ£ -1
´Â ÁöÁ¤µÈ È£½ºÆ®¸íÀÇ IP ÁÖ¼Ò¸¦, È£ÃâÃøÀÇ ¸Þ¼Òµå°¡ °áÁ¤µÇ·Á Çϰí ÀÖ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù.
Æ÷Åä ¹øÈ£°¡ -1 ³ª¿ÀÁö ¾Ê´Â °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ¾×¼¼½º±Ç SocketPermission(host+":"+port,"connect")
¸¦ ÁöÁ¤ÇØ checkPermission
¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù. Æ÷Åä°¡ -1 ÀÎ °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ¾×¼¼½º±Ç SocketPermission(host,"resolve")
¸¦ ÁöÁ¤ÇØ checkPermission
À» È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼Òµå°¡ Åë»óÀÌ¸é ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â À§Ä¡¿¡¼ super.checkConnect
°¡ ºÒ·Á °¡µµ·Ï ÇØ ÁÖ¼¼¿ä.
host
- Á¢¼ÓóÀÇ È£½ºÆ®¸í Æ÷Åäport
- Á¢¼ÓóÀÇ ÇÁ·ÎÅäÄÝ Æ÷Åä
SecurityException
- È£ÃâÃø thread¿¡, ÁöÁ¤µÈ host
¹× port
¿¡ÀÇ ¼ÒÄÏ Á¢¼ÓÀ» ¿ÀÇÂÇϱâ À§ÇÑ ¾×¼¼½º±ÇÀÌ ¾ø´Â °æ¿ì
NullPointerException
- host
Àμö°¡ null
ÀÇ °æ¿ìcheckPermission
public void checkConnect(String host, int port, Object context)
SecurityException
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
Æ÷Åä ¹øÈ£ -1
´Â ÁöÁ¤µÈ È£½ºÆ®¸íÀÇ IP ÁÖ¼Ò¸¦, È£ÃâÃøÀÇ ¸Þ¼Òµå°¡ °áÁ¤µÇ·Á Çϰí ÀÖ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù.
context
°¡ AccessControlContext
ÀÇ ÀνºÅϽº°¡ ¾Æ´Ñ °æ¿ì´Â SecurityException
°¡ ½½·Î¿ì µË´Ï´Ù.
±×·¸Áö ¾ÊÀº °æ¿ì´Â Æ÷Åä ¹øÈ£¸¦ È®ÀÎÇÕ´Ï´Ù. Æ÷Åä ¹øÈ£°¡ -1 ³ª¿ÀÁö ¾Ê´Â °æ¿ì´Â ¾×¼¼½º±Ç SocketPermission(host+":"+port,"connect")
¸¦ ÁöÁ¤ÇØ context
ÀÇ checkPermission
¸Þ¼Òµå°¡ ºÒ·Á °©´Ï´Ù. Æ÷Åä°¡ -1 ÀÎ °æ¿ì´Â ¾×¼¼½º±Ç SocketPermission(host,"resolve")
¸¦ ÁöÁ¤ÇØ context
ÀÇ checkPermission
¸Þ¼Òµå°¡ ºÒ·Á °©´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼Òµå°¡ Åë»óÀÌ¸é ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â À§Ä¡¿¡¼ 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
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
Æ÷Åä ¹øÈ£°¡ 0 ÀÌ ¾Æ´Ñ °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ¾×¼¼½º±Ç SocketPermission("localhost:"+port,"listen")
¸¦ ÁöÁ¤ÇØ checkPermission
¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù. Æ÷Åä°¡ 0 ÀÎ °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ¾×¼¼½º±Ç SocketPermission("localhost:1024-","listen")
¸¦ ÁöÁ¤ÇØ checkPermission
¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼Òµå°¡ Åë»óÀÌ¸é ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â À§Ä¡¿¡¼ super.checkListen
°¡ ºÒ·Á °¡µµ·Ï ÇØ ÁÖ¼¼¿ä.
port
- ·ÎÄà Æ÷Åä
SecurityException
- È£ÃâÃø thread¿¡, ÁöÁ¤µÈ Æ÷Åä·Î ´ë±âÇϱâ À§ÇÑ ¾×¼¼½º±ÇÀÌ ¾ø´Â °æ¿ìcheckPermission
public void checkAccept(String host, int port)
SecurityException
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ServerSocket
Ŭ·¡½ºÀÇ accept
¸Þ¼Òµå¿¡ ÀÇÇØ, ÇöÀçÀÇ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú¿¡ ´ëÇØ¼ ºÒ·Á °©´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ¾×¼¼½º±Ç SocketPermission(host+":"+port,"accept")
¸¦ ÁöÁ¤ÇØ checkPermission
¸¦ È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼Òµå°¡ Åë»óÀÌ¸é ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â À§Ä¡¿¡¼ super.checkAccept
°¡ ºÒ·Á °¡µµ·Ï ÇØ ÁÖ¼¼¿ä.
host
- ¼ÒÄÏ Á¢¼ÓÀÇ È£½ºÆ® ¹øÈ£port
- ¼ÒÄÏ Á¢¼ÓÀÇ Æ÷Åä ¹øÈ£
SecurityException
- È£ÃâÃø thread¿¡, Á¢¼ÓÀ» ¹Þ¾ÆµéÀ̱â À§ÇÑ ¾×¼¼½º±ÇÀÌ ¾ø´Â °æ¿ì
NullPointerException
- host
Àμö°¡ null
ÀÇ °æ¿ìServerSocket.accept()
,
checkPermission
public void checkMulticast(InetAddress maddr)
SecurityException
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ¾×¼¼½º±Ç java.net.SocketPermission(maddr.getHostAddress(), "accept, connect")
¸¦ ÁöÁ¤ÇØ checkPermission
¸¦ È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼Òµå°¡ Åë»óÀÌ¸é ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â À§Ä¡¿¡¼ super.checkMulticast
°¡ ºÒ·Á °¡µµ·Ï ÇØ ÁÖ¼¼¿ä.
maddr
- »ç¿ëÇÏ´Â ÀÎÅÍ³Ý ±×·ìÀÇ ÁÖ¼Ò
SecurityException
- È£ÃâÃø thread¿¡, IP ¸ÖƼ ij½ºÆ® (join/leave/send/receive)ÀÇ »ç¿ëÀÌ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì
NullPointerException
- ÁÖ¼ÒÀÇ Àμö°¡ null
ÀÇ °æ¿ìcheckPermission
public void checkMulticast(InetAddress maddr, byte ttl)
SecurityException
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ¾×¼¼½º±Ç java.net.SocketPermission(maddr.getHostAddress(), "accept, connect")
¸¦ ÁöÁ¤ÇØ checkPermission
¸¦ È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼Òµå°¡ Åë»óÀÌ¸é ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â À§Ä¡¿¡¼ super.checkMulticast
°¡ ºÒ·Á °¡µµ·Ï ÇØ ÁÖ¼¼¿ä.
maddr
- »ç¿ëÇÏ´Â ÀÎÅÍ³Ý ±×·ìÀÇ ÁÖ¼Òttl
- »ç¿ëÇÏ´Â °ªÀÌ ¸ÖƼ ij½ºÆ® ¼Û½ÅµÇ´Â °æ¿ì, ±× °ª. ÁÖ: ÀÌ Æ¯Á¤ÀÇ ±¸ÇöÀº ttl ÆÄ¶ó¹ÌÅ͸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù
SecurityException
- È£ÃâÃø thread¿¡, IP ¸ÖƼ ij½ºÆ® (join/leave/send/receive)ÀÇ »ç¿ëÀÌ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì
NullPointerException
- ÁÖ¼ÒÀÇ Àμö°¡ null
ÀÇ °æ¿ìcheckPermission
public void checkPropertiesAccess()
SecurityException
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â System
Ŭ·¡½ºÀÇ getProperties
¹× setProperties
¸Þ¼Òµå¿¡ ÀÇÇØ »ç¿ëµË´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ¾×¼¼½º±Ç PropertyPermission("*", "read, write")
¸¦ ÁöÁ¤ÇØ checkPermission
¸¦ È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼Òµå°¡ Åë»óÀÌ¸é ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â À§Ä¡¿¡¼ super.checkPropertiesAccess
°¡ ºÒ·Á °¡µµ·Ï ÇØ ÁÖ¼¼¿ä.
SecurityException
- È£ÃâÃø thread¿¡, ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ¿¡ ´ëÇÑ ¾×¼¼½º ¶Ç´Â º¯°æÀ» ÇàÇϱâ À§ÇÑ ¾×¼¼½º±ÇÀÌ ¾ø´Â °æ¿ìSystem.getProperties()
,
System.setProperties(java.util.Properties)
,
checkPermission
public void checkPropertyAccess(String key)
key
·Î ÁöÁ¤µÈ ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ¿¡ÀÇ ¾×¼¼½º°¡, È£ÃâÃø thread¿¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡,SecurityException
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â System
Ŭ·¡½ºÀÇ getProperty
¸Þ¼Òµå¿¡ ÀÇÇØ »ç¿ëµË´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ¾×¼¼½º±Ç PropertyPermission(key, "read")
·Î checkPermission
¸¦ È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼Òµå°¡ Åë»óÀÌ¸é ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â À§Ä¡¿¡¼ 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 °¡ ½½·Î¿ì µÇÁö ¾Ê´Â °æ¿ì´Â true
¸¦, ½½·Î¿ì µÇ´Â °æ¿ì´Â false
¸¦ µ¹·ÁÁÝ´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼Òµå°¡ Åë»óÀ̸é false
¸¦ ½½·Î¿ì ÇÏ´Â À§Ä¡¿¡¼ super.checkTopLevelWindow
°¡ ºÒ·Á °¡µµ·Ï ÇØ ÁÖ¼¼¿ä. À̰Ϳ¡ ÀÇÇØ,super.checkTopLevelWindow
ÀÇ °ªÀÌ µ¹·ÁÁÖ¾îÁý´Ï´Ù.
window
- ÀÛ¼ºµÇ´Â »õ·Î¿î À©µµ¿ì
true
, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
NullPointerException
- window
Àμö°¡ null
ÀÇ °æ¿ìWindow
,
checkPermission
public void checkPrintJobAccess()
SecurityException
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ¾×¼¼½º±Ç RuntimePermission("queuePrintJob")
·Î checkPermission
¸¦ È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼Òµå°¡ Åë»óÀÌ¸é ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â À§Ä¡¿¡¼ super.checkPrintJobAccess
°¡ ºÒ·Á °¡µµ·Ï ÇØ ÁÖ¼¼¿ä.
SecurityException
- È£ÃâÃø thread¿¡, Àμâ ÀÛ¾÷ ¿ä±¸¸¦ °³½ÃÇϱâ À§ÇÑ ¾×¼¼½º±ÇÀÌ ¾ø´Â °æ¿ìcheckPermission
public void checkSystemClipboardAccess()
SecurityException
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ¾×¼¼½º±Ç AWTPermission("accessClipboard")
·Î checkPermission
¸¦ È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼Òµå°¡ Åë»óÀÌ¸é ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â À§Ä¡¿¡¼ super.checkSystemClipboardAccess
°¡ ºÒ·Á °¡µµ·Ï ÇØ ÁÖ¼¼¿ä.
SecurityException
- È£ÃâÃø thread¿¡, ½Ã½ºÅÛ Å¬¸³º¸µå¿¡ÀÇ ¾×¼¼½º±ÇÀÌ ¾ø´Â °æ¿ìcheckPermission
public void checkAwtEventQueueAccess()
SecurityException
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ¾×¼¼½º±Ç AWTPermission("accessEventQueue")
·Î checkPermission
¸¦ È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼Òµå°¡ Åë»óÀÌ¸é ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â À§Ä¡¿¡¼ super.checkAwtEventQueueAccess
°¡ ºÒ·Á °¡µµ·Ï ÇØ ÁÖ¼¼¿ä.
SecurityException
- È£ÃâÃø thread¿¡, AWT À̺¥Æ® Å¥¿¡ÀÇ ¾×¼¼½º±ÇÀÌ ¾ø´Â °æ¿ìcheckPermission
public void checkPackageAccess(String pkg)
SecurityException
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â Ŭ·¡½º ·Î´õÀÇ 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
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ÀϺÎÀÇ Å¬·¡½º ·Î´õÀÇ 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
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ¾×¼¼½º±Ç RuntimePermission("setFactory")
·Î checkPermission
¸¦ È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÏ´Â °æ¿ì´Â ¿À¹ö¶óÀ̵å(override) µÇ´Â ¸Þ¼Òµå°¡ Åë»óÀÌ¸é ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â À§Ä¡¿¡¼ super.checkSetFactory
ÀÌ ºÒ·Á °¡µµ·Ï ÇØ ÁÖ¼¼¿ä.
SecurityException
- È£ÃâÃø thread¿¡, ¼ÒÄÏ ÆÑÅ丮, ¶Ç´Â ½ºÆ®¸² Çڵ鷯 ÆÑÅ丮¸¦ ÁöÁ¤Çϱâ À§ÇÑ ¾×¼¼½º±ÇÀÌ ¾ø´Â °æ¿ìsetSocketFactory
,
setSocketImplFactory
,
setURLStreamHandlerFactory
,
checkPermission
public void checkMemberAccess(Class clazz, int which)
SecurityException
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
µðÆúÆ®ÀÇ Æú¸®½Ã¿¡¼´Â 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) µÇ´Â ¸Þ¼Òµå°¡ Åë»óÀÌ¸é ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â À§Ä¡¿¡¼ super.checkSecurityAccess
°¡ ºÒ·Á °¡µµ·Ï ÇØ ÁÖ¼¼¿ä.
target
- SecurityPermission
ÀÇ Å¸°Ù¸í
SecurityException
- È£ÃâÃø thread¿¡, ¿ä±¸µÈ ¾×¼¼½º¿¡ ÇÊ¿äÇÑ ¾×¼¼½º±ÇÀÌ ¾ø´Â °æ¿ì
NullPointerException
- target
°¡ null ÀÇ °æ¿ì
IllegalArgumentException
- target
°¡ ºñ¾úÀ» °æ¿ìcheckPermission
public ThreadGroup getThreadGroup()
ThreadGroup
|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
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.