JavaTM 2 Platform
Standard Ed. 5.0

javax.security.auth
Ŭ·¡½º Subject

java.lang.Object 
  »óÀ§¸¦ È®Àå javax.security.auth.Subject
¸ðµç ±¸ÇöµÈ ÀÎÅÍÆäÀ̽º:
Serializable

public final class Subject
extends Object
implements Serializable

Subject´Â °³ÀεîÀÇ ´ÜÀÏ ¿£Æ¼Æ¼¿¡ °üÇÑ °ü·Ã Á¤º¸¸¦ ±×·ìÈ­ ÇÑ °ÍÀÔ´Ï´Ù. ÀÌ·± Á¾·ùÀÇ Á¤º¸¿¡´Â Subject ½Äº° Á¤º¸³ª, ½ÃÅ¥·¯Æ¼ °ü·ÃÀÇ ¼Ó¼º (Æнº¿öµå³ª ¾Ïȣȭ۵î)ÀÌ Æ÷ÇԵ˴ϴÙ.

Subject´Â º¹¼öÀÇ ½Äº° Á¤º¸¸¦ °¡Áö´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. °¢°¢ÀÇ ½Äº° Á¤º¸´Â Subject ³»ÀÇ Principal·Î ³ªÅ¸³»Áý´Ï´Ù. Principal´Â ´ÜÁö À̸§À» Subject¿¡ ¹ÙÀεå ÇÏ°í ÀÖÀ» »ÓÀÔ´Ï´Ù. ¿¹¸¦ µé¾î Alice ¶ó°í ÇÏ´Â °³ÀÎÀÇ Subject¿¡´Â Alice ¿îÀü ¸éÇãÁõÀÇ À̸§ ¡¸Alice Bar¡¹°¡ Subject¿¡ ¹ÙÀεå ÇÏ°í ÀÖ´Â Principal¿Í Çлý ¹øÈ£ ¡¸999-99-9999¡¹ÀÌ Subject¿¡ ¹ÙÀεå ÇÏ°í ÀÖ´Â Principal 2°³°¡ ÀÖ½À´Ï´Ù. ¾î´À ÂÊÀÇ Principal µµ, ´Ù¸¥ À̸§À̾ °°Àº Subject¸¦ ÂüÁ¶ÇÏ°í ÀÖ½À´Ï´Ù.

¶Ç, Subject¿¡´Â ½ÃÅ¥·¯Æ¼ °ü·ÃÀÇ ¼Ó¼ºµµ ÀÖ½À´Ï´Ù. À̰͵éÀº ÀÚ°ÝÀ̶ó°íµµ ºÒ¸³´Ï´Ù. ºñ°ø°³ÀÇ ¾ÏȣȭŰ µî, Ưº°ÇÑ º¸È£¸¦ ÇÊ¿ä·Î ÇÏ´Â Áß¿äÇÑ ÀÚ°ÝÀº ºñ°ø°³ ÀÚ°Ý Set ³»¿¡ Æ÷ÇԵ˴ϴÙ. °ø°³Å° ÀÎÁõ¼­ ³ª Kerberos ¼­¹ö ƼÄÏ°ú °°ÀÌ, °øÀ¯µÇ¾î¾ß ÇÒ ÀÚ°ÝÀº °ø°³ ÀÚ°Ý Set¿¡ Æ÷ÇԵ˴ϴÙ. ´Ù¸¥ ÀÚ°Ý Set¿¡ Á¢¼ÓÇØ º¯°æÇÏ·Á¸é, ´Ù¸¥ Á¢±Ù ±ÇÇÑÀÌ ÇÊ¿äÇÕ´Ï´Ù.

Subject¿¡ °ü·ÃµÈ ¸ðµç Principal¸¦ ÃëµæÇÏ·Á¸é, getPrincipals ¸Þ¼­µå¸¦ È£ÃâÇÕ´Ï´Ù. Subject¿¡ ¼ÓÇÏ´Â °ø°³ ¶Ç´Â ºñ°ø°³ÀÇ ÀÚ°ÝÀ» ¸ðµÎ ÃëµæÇÏ·Á¸é, getPublicCredentials ¸Þ¼­µå³ª getPrivateCredentials ¸Þ¼­µå¸¦ È£ÃâÇÕ´Ï´Ù. ¸®ÅÏµÈ Principal¿Í ÀÚ°ÝÀÇ Set¸¦ º¯°æÇÏ·Á¸é, Set Ŭ·¡½º¿¡¼­ Á¤Àǵǰí ÀÖ´Â ¸Þ¼­µå¸¦ »ç¿ëÇÕ´Ï´Ù. ¿¹¸¦ µé¾î ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.


        Subject subject;
        Principal principal;
        Object credential;

        // add a Principal and credential to the Subject
        subject.getPrincipals(). add(principal);
        subject.getPublicCredentials(). add(credential);
 

ÀÌ Subject Ŭ·¡½º´Â SerializableÀ» ±¸ÇöÇÕ´Ï´Ù. Subject¿¡ °ü·ÃµÈ Principal´Â Á÷·ÄÈ­ µË´Ï´Ù¸¸, Subject¿¡ °ü·ÃµÈ ÀÚ°ÝÀº Á÷·ÄÈ­ µÇÁö ¾Ê½À´Ï´Ù. java.security.Principal Ŭ·¡½º´Â SerializableÀ» ±¸ÇöÇÏ°í ÀÖ½À´Ï´Ù. ±× ¶§¹®¿¡ Subject¿¡ °ü·ÃµÈ ±¸Ã¼ÀûÀÎ Principal ±¸ÇöÀº ¸ðµÎ, SerializableÀ» ±¸ÇöÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

°ü·Ã Ç׸ñ:
Principal, DomainCombiner, Á÷·ÄÈ­ µÈ Çü½Ä

»ý¼ºÀÚ °³¿ä
Subject ()
          ºñ¾îÀÖ´Â Principal Set¿Í ºñ¾îÀÖ´Â °ø°³ ÀÚ°Ý ¹× ºñ°ø°³ ÀÚ°ÝÀÇ Set ·Î Subject ÀνºÅϽº¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
Subject (boolean readOnly, Set <? extends Principal > principals, Set <? > pubCredentials, Set <? > privCredentials)
          Principal¿Í ÀÚ°ÝÀ» ÁöÁ¤ÇØ, Subject ÀνºÅϽº¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
 
¸Þ¼­µå °³¿ä
static Object doAs (Subject  subject, PrivilegedAction  action)
          Æ¯Á¤ÀÇ Subject·Î ¼­ µ¿ÀÛÇÕ´Ï´Ù.
static Object doAs (Subject  subject, PrivilegedExceptionAction  action)
          Æ¯Á¤ÀÇ Subject·Î ¼­ µ¿ÀÛÇÕ´Ï´Ù.
static Object doAsPrivileged (Subject  subject, PrivilegedAction  action, AccessControlContext  acc)
          Æ¯Á¤ÀÇ Subject·Î ¼­ Ư±Ç ÷ºÎ·Î µ¿ÀÛÇÕ´Ï´Ù.
static Object doAsPrivileged (Subject  subject, PrivilegedExceptionAction  action, AccessControlContext  acc)
          Æ¯Á¤ÀÇ Subject·Î ¼­ Ư±Ç ÷ºÎ·Î µ¿ÀÛÇÕ´Ï´Ù.
 boolean equals (Object  o)
          ÁöÁ¤ÇÑ Object¿Í ÀÌ SubjectÀÌ µ¿ÀÏÇÑÁö ¾î¶²Áö¸¦ ºñ±³ÇÕ´Ï´Ù.
 Set <Principal > getPrincipals ()
          ÀÌ Subject¿¡ °ü·ÃµÈ Principal Set¸¦ ¸®ÅÏÇÕ´Ï´Ù.
<T extends Principal >
Set <T>
getPrincipals (Class <T> c)
          ÁöÁ¤ÇÑ Class ÀνºÅϽº ¶Ç´Â ¼­ºê Ŭ·¡½ºÀÎ, ÀÌ Subject¿¡ °ü·ÃµÈ Principal Set¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 Set <Object > getPrivateCredentials ()
          ÀÌ SubjectÀÌ º¸°ü À¯ÁöÇÏ´Â ºñ°ø°³ ÀÚ°ÝÀÇ Set¸¦ ¸®ÅÏÇÕ´Ï´Ù.
<T> Set <T>
getPrivateCredentials (Class <T> c)
          ÁöÁ¤ÇÑ Class ÀνºÅϽº ¶Ç´Â ¼­ºê Ŭ·¡½ºÀÎ ÀÌ Subject¿¡ °ü·ÃÇÑ ºñ°ø°³ ÀÚ°ÝÀÇ Set¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 Set <Object > getPublicCredentials ()
          ÀÌ SubjectÀÌ º¸°ü À¯ÁöÇÏ´Â °ø°³ ÀÚ°ÝÀÇ Set¸¦ ¸®ÅÏÇÕ´Ï´Ù.
<T> Set <T>
getPublicCredentials (Class <T> c)
          ÁöÁ¤ÇÑ Class ÀνºÅϽº ¶Ç´Â ¼­ºê Ŭ·¡½ºÀÎ ÀÌ Subject¿¡ °ü·ÃÇÑ °ø°³ ÀÚ°ÝÀÇ Set¸¦ ¸®ÅÏÇÕ´Ï´Ù.
static Subject getSubject (AccessControlContext  acc)
          ÁöÁ¤ÇÑ AccessControlContext¿¡ °ü·ÃµÈ Subject¸¦ ÃëµæÇÕ´Ï´Ù.
 int hashCode ()
          ÀÌ Subject Çؽà Äڵ带 ¸®ÅÏÇÕ´Ï´Ù.
 boolean isReadOnly ()
          ÀÌ SubjectÀÌ Àбâ Àü¿ë ÀÏÁö ¾î¶³Áö¸¦ ¹®ÀÇÇÕ´Ï´Ù.
 void setReadOnly ()
          ÀÌ Subject¸¦ Àбâ Àü¿ë À¸·Î ¼³Á¤ÇÕ´Ï´Ù.
 String toString ()
          ÀÌ Subject String Ç¥ÇöÀ» ¸®ÅÏÇÕ´Ï´Ù.
 
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

»ý¼ºÀÚ »ó¼¼

Subject

public Subject()
ºñ¾îÀÖ´Â Principal Set¿Í ºñ¾îÀÖ´Â °ø°³ ÀÚ°Ý ¹× ºñ°ø°³ ÀÚ°ÝÀÇ Set ·Î Subject ÀνºÅϽº¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

»õ·Ó°Ô ÀÛ¼ºµÈ Set ¿¡¼­´Â ÀÌÈÄÀÇ º¯°æÀ» Çã°¡Çϱâ Àü¿¡ ÀÌ SubjectÀÌ Àбâ Àü¿ë À¸·Î ¼³Á¤µÇ¾î ÀÖ´ÂÁö¸¦ È®ÀÎÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. »õ·Ó°Ô ÀÛ¼ºµÈ Set´Â È£Ãâ Ãø¿¡ ÃæºÐÇÑ Á¢±Ù ±ÇÇÑÀÌ ÀÖ´Â °ÍÀ» º¸ÁõÇÏ´Â °ÍÀ¸·Î ºÎÁ¤ÇÑ º¯°æÀ» ¿¹¹æÇÕ´Ï´Ù.

Principals Set¸¦ º¯°æÇÏ·Á¸é, È£Ãâ Ãø¿¡ AuthPermission("modifyPrincipals")°¡ ÇÊ¿äÇÕ´Ï´Ù. °ø°³ ÀÚ°Ý Set¸¦ º¯°æÇÏ·Á¸é, È£Ãâ Ãø¿¡ AuthPermission("modifyPublicCredentials")°¡ ÇÊ¿äÇÕ´Ï´Ù. ºñ°ø°³ ÀÚ°Ý Set¸¦ º¯°æÇÏ·Á¸é, È£Ãâ Ãø¿¡ AuthPermission("modifyPrivateCredentials")°¡ ÇÊ¿äÇÕ´Ï´Ù.


Subject

public Subject(boolean readOnly,
               Set <?  extends Principal > principals,
               Set <? > pubCredentials,
               Set <? > privCredentials)
Principal¿Í ÀÚ°ÝÀ» ÁöÁ¤ÇØ, Subject ÀνºÅϽº¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

Principal¿Í ÀÚ°ÝÀº ÁöÁ¤µÈ Set ·ÎºÎÅÍ »õ·Ó°Ô ÀÛ¼ºµÈ Set¿¡ º¹»çµË´Ï´Ù. ÀÌ·¯ÇÑ »õ·Ó°Ô ÀÛ¼ºµÈ Set ¿¡¼­´Â ÀÌÈÄÀÇ º¯°æÀ» Çã°¡Çϱâ Àü¿¡ ÀÌ SubjectÀÌ Àбâ Àü¿ë À¸·Î ¼³Á¤µÇ¾î ÀÖ´ÂÁö¸¦ È®ÀÎÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. »õ·Ó°Ô ÀÛ¼ºµÈ Set´Â È£Ãâ Ãø¿¡ ÃæºÐÇÑ Á¢±Ù ±ÇÇÑÀÌ ÀÖ´Â °ÍÀ» È®ÀÎÇÏ´Â °Í¿¡ÀÇÇØ ºÎÁ¤ÇÑ º¯°æÀ» ¿¹¹æÇÕ´Ï´Ù.

Principals Set¸¦ º¯°æÇÏ·Á¸é, È£Ãâ Ãø¿¡ AuthPermission("modifyPrincipals")°¡ ÇÊ¿äÇÕ´Ï´Ù. °ø°³ ÀÚ°Ý Set¸¦ º¯°æÇÏ·Á¸é, È£Ãâ Ãø¿¡ AuthPermission("modifyPublicCredentials")°¡ ÇÊ¿äÇÕ´Ï´Ù. ºñ°ø°³ ÀÚ°Ý Set¸¦ º¯°æÇÏ·Á¸é, È£Ãâ Ãø¿¡ AuthPermission("modifyPrivateCredentials")°¡ ÇÊ¿äÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
readOnly - SubjectÀÌ Àбâ Àü¿ë ÀÇ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false

principals - ÀÌ Subject¿¡ °ü·ÃÁþ´Â Principal Set

pubCredentials - ÀÌ Subject¿¡ °ü·ÃÁþ´Â °ø°³ ÀÚ°ÝÀÇ Set

privCredentials - ÀÌ Subject¿¡ °ü·ÃÁþ´Â ºñ°ø°³ ÀÚ°ÝÀÇ Set
¿¹¿Ü:
NullPointerException - ÁöÁ¤ÇÑ principals, pubCredentials, privCredentials ¾î¶² °ÍÀΰ¡°¡ nullÀÎ °æ¿ì
¸Þ¼­µåÀÇ »ó¼¼

setReadOnly

public void setReadOnly()
ÀÌ Subject¸¦ Àбâ Àü¿ë À¸·Î ¼³Á¤ÇÕ´Ï´Ù.

ÀÌ Subject Principal Set ³ª ÀÚ°Ý Set¿¡ ´ëÇÑ º¯°æ (Ãß°¡³ª »èÁ¦)Àº Çã°¡µÇÁö ¾Ê½À´Ï´Ù. ÀÌ Subject ÀÚ°Ý¿¡ ´ëÇÑ destroy Á¶ÀÛ¸¸ÀÌ Çã°¡µË´Ï´Ù.

±× ÈÄ, Subject Principal ³ª ÀÚ°ÝÀÇ Set¸¦ º¯°æÇÏ·Á°í Çϸé, IllegalStateException°¡ ¹ß»ý µË´Ï´Ù. ¶Ç, Subject¸¦ Àбâ Àü¿ë À¸·Î ÇÑ ÈÄ¿¡ Çѹø ´õ Ãâ·ÂÇÒ ¼ö ÀÖµµ·Ï ¸®¼Â ÇÒ ¼ö ¾ø½À´Ï´Ù.

¿¹¿Ü:
SecurityException - È£Ãâ Ãø¿¡ ÀÌ Subject¸¦ Àбâ Àü¿ë À¸·Î ¼³Á¤ÇÏ´Â Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì

isReadOnly

public boolean isReadOnly()
ÀÌ SubjectÀÌ Àбâ Àü¿ë ÀÏÁö ¾î¶³Áö¸¦ ¹®ÀÇÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ SubjectÀÌ Àбâ Àü¿ë ÀÎ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false

getSubject

public static Subject  getSubject(AccessControlContext  acc)
ÁöÁ¤ÇÑ AccessControlContext¿¡ °ü·ÃµÈ Subject¸¦ ÃëµæÇÕ´Ï´Ù.

AccessControlContext¿¡ ¸¹Àº Subject°¡ Æ÷ÇԵǴ °æ¿ì°¡ ÀÖ½À´Ï´Ù (»óÀÚ·Î µÈ doAs È£Ãâ¿¡ ÇÑ´Ù). ÀÌ °æ¿ì AccessControlContext¿¡ °ü·ÃµÈ ÃÖ½ÅÀÇ SubjectÀÌ ¸®Åϵ˴ϴ٠.

ÆĶó¹ÌÅÍ:
acc - Subject¸¦ ¾ò´Â AccessControlContext
¹Ýȯ°ª:
ÀÌ AccessControlContext¿¡ °ü·ÃµÈ Subject. ÀÌ AccessControlContext¿¡ °ü·ÃµÈ SubjectÀÌ ¾ø´Â °æ¿ì´Â null
¿¹¿Ü:
SecurityException - È£Ãâ Ãø¿¡ ÀÌ Subject¸¦ ¾ò´Â Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì

NullPointerException - ÁöÁ¤ÇÑ AccessControlContextÀÌ nullÀÎ °æ¿ì

doAs

public static Object  doAs(Subject  subject,
                          PrivilegedAction  action)
ƯÁ¤ÀÇ Subject·Î ¼­ µ¿ÀÛÇÕ´Ï´Ù.

ÀÌ ¸Þ¼­µå¿¡¼­´Â ÃÖÃÊ·Î ÇöÀçÀÇ Thread AccessControlContext¸¦ AccessController.getContext·Î ÃëµæÇØ, ÃëµæÇÑ ÄÁÅؽºÆ®°ú (ÁöÁ¤ÇÑ Subject·Î ±¸ÃàÇÑ) »õ·Î¿î SubjectDomainCombiner¸¦ »ç¿ëÇØ »õ·Î¿î AccessControlContext¸¦ ÀνºÅϽºÈ­ÇÕ´Ï´Ù. ¸¶Áö¸·À¸·ÎAccessController.doPrivileged¸¦ È£ÃâÇØ, ÁöÁ¤ÇÑ PrivilegedAction °ú »õ·Ó°Ô ±¸ÃàÇÑ AccessControlContext¸¦ °Ç³×ÁÝ´Ï´Ù.

ÆĶó¹ÌÅÍ:
subject - ÁöÁ¤ÇÑ action°¡ ½ÇÇàµÉ ¶§ÀÇ Subject. nullµµ °¡´É

action - ÁöÁ¤ÇÑ Subject·Î ¼­ ½ÇÇàµÇ´Â ÄÚµå

¹Ýȯ°ª:
PrivilegedAction run ¸Þ¼­µå¿¡ ÀÇÇØ ¸®ÅÏµÈ Object
¿¹¿Ü:
NullPointerException - PrivilegedAction°¡ nullÀÎ °æ¿ì

SecurityException - È£Ãâ Ãø¿¡ ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇÏ´Â Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì

doAs

public static Object  doAs(Subject  subject,
                          PrivilegedExceptionAction  action)
                   throws PrivilegedActionException 
ƯÁ¤ÀÇ Subject·Î ¼­ µ¿ÀÛÇÕ´Ï´Ù.

ÀÌ ¸Þ¼­µå¿¡¼­´Â ÃÖÃÊ·Î ÇöÀçÀÇ Thread AccessControlContext¸¦ AccessController.getContext·Î ÃëµæÇØ, ÃëµæÇÑ ÄÁÅؽºÆ®°ú (ÁöÁ¤ÇÑ Subject·Î ±¸ÃàÇÑ) »õ·Î¿î SubjectDomainCombiner¸¦ »ç¿ëÇØ »õ·Î¿î AccessControlContext¸¦ ÀνºÅϽºÈ­ÇÕ´Ï´Ù. ¸¶Áö¸·À¸·ÎAccessController.doPrivileged¸¦ È£ÃâÇØ, ÁöÁ¤ÇÑ PrivilegedExceptionAction¿Í »õ·Ó°Ô ±¸ÃàÇÑ AccessControlContext¸¦ °Ç³×ÁÝ´Ï´Ù.

ÆĶó¹ÌÅÍ:
subject - ÁöÁ¤ÇÑ action°¡ ½ÇÇàµÉ ¶§ÀÇ Subject. nullµµ °¡´É

action - ÁöÁ¤ÇÑ Subject·Î ¼­ ½ÇÇàµÇ´Â ÄÚµå

¹Ýȯ°ª:
PrivilegedExceptionAction run ¸Þ¼­µå¿¡ ÀÇÇØ ¸®ÅÏµÈ Object
¿¹¿Ü:
PrivilegedActionException - PrivilegedExceptionAction.run ¸Þ¼­µå°¡ È®ÀÎ ³¡³­ ¿¹¿Ü¸¦ Throw ÇßÀ» °æ¿ì

NullPointerException - ÁöÁ¤ÇÑ PrivilegedExceptionAction°¡ nullÀÎ °æ¿ì

SecurityException - È£Ãâ Ãø¿¡ ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇÏ´Â Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì

doAsPrivileged

public static Object  doAsPrivileged(Subject  subject,
                                    PrivilegedAction  action,
                                    AccessControlContext  acc)
ƯÁ¤ÀÇ Subject·Î ¼­ Ư±Ç ÷ºÎ·Î µ¿ÀÛÇÕ´Ï´Ù.

ÀÌ ¸Þ¼­µåÀÇ µ¿ÀÛÀº ÇöÀçÀÇ Thread AccessControlContext¸¦ ¾ò´Â ´ë½Å¿¡ ÁöÁ¤ÇÑ AccessControlContextÀ» »ç¿ëÇÏ´Â Á¡À» Á¦¿ÜÇØ, Subject.doAs¿Í °°°Ô µË´Ï´Ù. ÁöÁ¤ÇÑ AccessControlContextÀÌ nullÀÎ °æ¿ì, ÀÌ ¸Þ¼­µå´Â »õ·Î¿î AccessControlContext¸¦ ºñ¾îÀÖ´Â ProtectionDomain Ä÷º¼ÇÀ¸·Î ÀνºÅϽºÈ­ÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
subject - ÁöÁ¤ÇÑ action°¡ ½ÇÇàµÉ ¶§ÀÇ Subject. nullµµ °¡´É

action - ÁöÁ¤ÇÑ Subject·Î ¼­ ½ÇÇàµÇ´Â ÄÚµå

acc - ÁöÁ¤ÇÑ subject¿Í action¸¦ ¹­À» ¼ö ÀÖ´Â AccessControlContext

¹Ýȯ°ª:
PrivilegedAction run ¸Þ¼­µå¿¡ ÀÇÇØ ¸®ÅÏµÈ Object
¿¹¿Ü:
NullPointerException - PrivilegedAction°¡ nullÀÎ °æ¿ì

SecurityException - È£Ãâ Ãø¿¡ ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇÏ´Â Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì

doAsPrivileged

public static Object  doAsPrivileged(Subject  subject,
                                    PrivilegedExceptionAction  action,
                                    AccessControlContext  acc)
                             throws PrivilegedActionException 
ƯÁ¤ÀÇ Subject·Î ¼­ Ư±Ç ÷ºÎ·Î µ¿ÀÛÇÕ´Ï´Ù.

ÀÌ ¸Þ¼­µåÀÇ µ¿ÀÛÀº ÇöÀçÀÇ Thread AccessControlContext¸¦ ¾ò´Â ´ë½Å¿¡ ÁöÁ¤ÇÑ AccessControlContextÀ» »ç¿ëÇÏ´Â Á¡À» Á¦¿ÜÇØ, Subject.doAs¿Í °°°Ô µË´Ï´Ù. ÁöÁ¤ÇÑ AccessControlContextÀÌ nullÀÎ °æ¿ì, ÀÌ ¸Þ¼­µå´Â »õ·Î¿î AccessControlContext¸¦ ºñ¾îÀÖ´Â ProtectionDomain Ä÷º¼ÇÀ¸·Î ÀνºÅϽºÈ­ÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
subject - ÁöÁ¤ÇÑ action°¡ ½ÇÇàµÉ ¶§ÀÇ Subject. nullµµ °¡´É

action - ÁöÁ¤ÇÑ Subject·Î ¼­ ½ÇÇàµÇ´Â ÄÚµå

acc - ÁöÁ¤ÇÑ subject¿Í action¸¦ ¹­À» ¼ö ÀÖ´Â AccessControlContext

¹Ýȯ°ª:
PrivilegedExceptionAction run ¸Þ¼­µå¿¡ ÀÇÇØ ¸®ÅÏµÈ Object
¿¹¿Ü:
PrivilegedActionException - PrivilegedExceptionAction.run ¸Þ¼­µå°¡ È®ÀÎ ³¡³­ ¿¹¿Ü¸¦ Throw ÇßÀ» °æ¿ì

NullPointerException - ÁöÁ¤ÇÑ PrivilegedExceptionAction°¡ nullÀÎ °æ¿ì

SecurityException - È£Ãâ Ãø¿¡ ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇÏ´Â Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì

getPrincipals

public Set <Principal > getPrincipals()
ÀÌ Subject¿¡ °ü·ÃµÈ Principal Set¸¦ ¸®ÅÏÇÕ´Ï´Ù. °¢ Principal´Â ÀÌ Subject ½Äº° Á¤º¸¸¦ ³ªÅ¸³À´Ï´Ù.

¸®ÅÏµÈ Set´Â ÀÌ Subject ³»ºÎÀûÀÎ Principal Set¿Í °áºÎµÇ°í ÀÖ½À´Ï´Ù. ¸®ÅÏµÈ Set¿¡ ´ëÇÑ º¯°æÀº ³»ºÎÀÇ Principal Set¿¡ µµ ¿µÇâÀ» ÁÝ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ Subject¿¡ °ü·ÃµÈ Principal Set

getPrincipals

public <T extends Principal > Set <T> getPrincipals(Class <T> c)
ÁöÁ¤ÇÑ Class ÀνºÅϽº ¶Ç´Â ¼­ºê Ŭ·¡½ºÀÎ, ÀÌ Subject¿¡ °ü·ÃµÈ Principal Set¸¦ ¸®ÅÏÇÕ´Ï´Ù.

¸®ÅÏµÈ Set´Â ÀÌ Subject ³»ºÎÀûÀÎ Principal Set¿Í °áºÎµÇÁö ¾Ê½À´Ï´Ù. ¸Þ¼­µå È£ÃâÇÒ °Í¿¡ »õ·Î¿î SetÀÌ ÀÛ¼ºµÇ¾î ¸®Åϵ˴ϴ٠. ¸®ÅÏµÈ Set¿¡ ´ëÇÑ º¯°æÀº ³»ºÎÀûÀÎ Principal Set¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
c - ¸®ÅÏµÈ Principal Set´Â ¸ðµÎ ÀÌ Å¬·¡½ºÀÇ ÀνºÅϽº°¡ µÈ´Ù
¹Ýȯ°ª:
ÁöÁ¤ÇÑ Class ÀνºÅϽºÀÎ Principal Set
¿¹¿Ü:
NullPointerException - ÁöÁ¤ÇÑ Class°¡ nullÀÎ °æ¿ì

getPublicCredentials

public Set <Object > getPublicCredentials()
ÀÌ SubjectÀÌ º¸°ü À¯ÁöÇÏ´Â °ø°³ ÀÚ°ÝÀÇ Set¸¦ ¸®ÅÏÇÕ´Ï´Ù.

¸®ÅÏµÈ Set´Â ÀÌ Subject ³»ºÎÀûÀÎ °ø°³ Credential Set¿Í °áºÎµÇ°í ÀÖ½À´Ï´Ù. ¸®ÅÏµÈ Set¿¡ ´ëÇÑ º¯°æÀº ³»ºÎÀûÀÎ °ø°³ Credential Set¿¡ µµ ¿µÇâÀ» ÁÝ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ SubjectÀÌ º¸°ü À¯ÁöÇÏ´Â °ø°³ ÀÚ°ÝÀÇ Set

getPrivateCredentials

public Set <Object > getPrivateCredentials()
ÀÌ SubjectÀÌ º¸°ü À¯ÁöÇÏ´Â ºñ°ø°³ ÀÚ°ÝÀÇ Set¸¦ ¸®ÅÏÇÕ´Ï´Ù.

¸®ÅÏµÈ Set´Â ÀÌ Subject ³»ºÎÀûÀÎ ºñ°ø°³ Credential Set¿Í °áºÎµÇ°í ÀÖ½À´Ï´Ù. ¸®ÅÏµÈ Set¿¡ ´ëÇÑ º¯°æÀº ³»ºÎÀûÀÎ ºñ°ø°³ Credential Set¿¡ µµ ¿µÇâÀ» ÁÝ´Ï´Ù.

È£ÃâÃø¿¡¼­´Â ¸®ÅÏµÈ Set Credential¿¡ ¾×¼¼½ºÇϱâ À§ÇÑ ±ÇÇÑ, ¶Ç´Â Set ÀÚü¸¦ º¯°æÇϱâ À§ÇÑ Á¢±Ù ±ÇÇÑÀÌ ÇÊ¿äÇÕ´Ï´Ù. È£Ãâ Ãø¿¡ ÀûÀýÇÑ Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì´Â SecurityException°¡ ¹ß»ý µË´Ï´Ù.

Set¸¦ ¹Ýº¹ ó¸® ÇÒ ¶§, È£Ãâ Ãø¿¡ ƯÁ¤ÀÇ Credential¿¡ ´ëÇÑ Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì´Â SecurityException°¡ ¹ß»ý µË´Ï´Ù. ±× °æ¿ì¿¡¼­µµ, Iterator´Â Set ´ÙÀ½ÀÇ ¿ä¼Ò¿¡ 󸮸¦ ÁøÇà½Ãŵ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ SubjectÀÌ º¸°ü À¯ÁöÇÏ´Â ºñ°ø°³ ÀÚ°ÝÀÇ Set

getPublicCredentials

public <T> Set <T> getPublicCredentials(Class <T> c)
ÁöÁ¤ÇÑ Class ÀνºÅϽº ¶Ç´Â ¼­ºê Ŭ·¡½ºÀÎ ÀÌ Subject¿¡ °ü·ÃÇÑ °ø°³ ÀÚ°ÝÀÇ Set¸¦ ¸®ÅÏÇÕ´Ï´Ù.

¸®ÅÏµÈ Set´Â ÀÌ Subject ³»ºÎÀûÀÎ °ø°³ Credential Set¿Í °áºÎµÇÁö ¾Ê½À´Ï´Ù. °¢ ¸Þ¼­µåÀÇ È£Ãâ¿¡ ´ëÇؼ­ »õ·Î¿î SetÀÌ ÀÛ¼ºµÇ¾î ¸®Åϵ˴ϴ٠. ¸®ÅÏµÈ Set¿¡ ´ëÇÑ º¯°æÀº ³»ºÎÀûÀÎ °ø°³ Credential Set¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
c - ¸®ÅÏµÈ °ø°³ ÀÚ°ÝÀÇ Set´Â ¸ðµÎ ÀÌ Å¬·¡½ºÀÇ ÀνºÅϽº°¡ µÈ´Ù
¹Ýȯ°ª:
ÁöÁ¤ÇÑ Class ÀνºÅϽºÀÎ °ø°³ ÀÚ°ÝÀÇ Set
¿¹¿Ü:
NullPointerException - ÁöÁ¤ÇÑ Class°¡ nullÀÎ °æ¿ì

getPrivateCredentials

public <T> Set <T> getPrivateCredentials(Class <T> c)
ÁöÁ¤ÇÑ Class ÀνºÅϽº ¶Ç´Â ¼­ºê Ŭ·¡½ºÀÎ ÀÌ Subject¿¡ °ü·ÃÇÑ ºñ°ø°³ ÀÚ°ÝÀÇ Set¸¦ ¸®ÅÏÇÕ´Ï´Ù.

È£Ãâ Ãø¿¡´Â ¿ä±¸ÇÑ Credential ¸ðµÎ¿¡ ´ëÇÑ Á¢±Ù ±ÇÇÑÀÌ ¾øÀ¸¸é ¾ÈµË´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì´Â SecurityException°¡ ¹ß»ý µË´Ï´Ù.

¸®ÅÏµÈ Set´Â ÀÌ Subject ³»ºÎÀûÀÎ ºñ°ø°³ Credential Set¿Í °áºÎµÇÁö ¾Ê½À´Ï´Ù. °¢ ¸Þ¼­µåÀÇ È£Ãâ¿¡ ´ëÇؼ­ »õ·Î¿î SetÀÌ ÀÛ¼ºµÇ¾î ¸®Åϵ˴ϴ٠. ¸®ÅÏµÈ Set¿¡ ´ëÇÑ º¯°æÀº ³»ºÎÀûÀÎ ºñ°ø°³ Credential Set¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
c - ¸®ÅÏµÈ ºñ°ø°³ ÀÚ°ÝÀÇ Set´Â ¸ðµÎ ÀÌ Å¬·¡½ºÀÇ ÀνºÅϽº°¡ µÈ´Ù
¹Ýȯ°ª:
ÁöÁ¤ÇÑ Class ÀνºÅϽºÀÎ ºñ°ø°³ ÀÚ°ÝÀÇ Set
¿¹¿Ü:
NullPointerException - ÁöÁ¤ÇÑ Class°¡ nullÀÎ °æ¿ì

equals

public boolean equals(Object  o)
ÁöÁ¤ÇÑ Object¿Í ÀÌ SubjectÀÌ µ¿ÀÏÇÑÁö ¾î¶²Áö¸¦ ºñ±³ÇÕ´Ï´Ù. ÁöÁ¤ÇÑ °´Ã¼°¡ Subject À̸ç, 2°³ÀÇ SubjectÀνºÅϽº°¡ µî°¡ÀÎ °æ¿ì¿¡ true¸¦ ¸®ÅÏÇÕ´Ï´Ù. º¸´Ù Á¤È®ÇÏ°Ô´Â Principal Set¿Í Credential Set°¡ µ¿ÀÏÇÑ °æ¿ì¿¡ 2°³ÀÇ SubjectÀνºÅϽº´Â µ¿ÀÏÇØÁý´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Object ³»ÀÇ equals
ÆĶó¹ÌÅÍ:
o - ÀÌ Subject¿Í µ¿ÀÏÇÑÁö ¾î¶²Áö¸¦ ºñ±³ÇÏ´Â Object
¹Ýȯ°ª:
ÁöÁ¤µÈ Object°¡ ÀÌ Subject¿Í µ¿ÀÏÇÑ °æ¿ì´Â true
¿¹¿Ü:
SecurityException - È£Ãâ Ãø¿¡ ÀÌ Subject ºñ°ø°³ ÀÚ°Ý¿¡ÀÇ Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì, ȤÀº È£Ãâ Ãø¿¡ ÁöÁ¤ÇÑ Subject ºñ°ø°³ ÀÚ°Ý¿¡ÀÇ Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì
°ü·Ã Ç׸ñ:
Object.hashCode(), Hashtable

toString

public String  toString()
ÀÌ Subject String Ç¥ÇöÀ» ¸®ÅÏÇÕ´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Object ³»ÀÇ toString
¹Ýȯ°ª:
ÀÌ Subject String Ç¥Çö

hashCode

public int hashCode()
ÀÌ Subject Çؽà Äڵ带 ¸®ÅÏÇÕ´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Object ³»ÀÇ hashCode
¹Ýȯ°ª:
ÀÌ Subject Çؽà ÄÚµå
¿¹¿Ü:
SecurityException - È£Ãâ Ãø¿¡ ÀÌ Subject ºñ°ø°³ ÀÚ°Ý¿¡ÀÇ Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì
°ü·Ã Ç׸ñ:
Object.equals(java.lang.Object), Hashtable

JavaTM 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.