javax.security.auth
Ŭ·¡½º Subject

java.lang.Object
  |
  +--javax.security.auth.Subject
¸ðµç ½ÇÀå ÀÎÅÍÆäÀ̽º:
java.io.Serializable

public final class Subject
extends java.lang.Object
implements java.io.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, Á÷·ÄÈ­ µÈ Çü½Ä

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

constructor¡¡ ¡¡ ÀÇ »ó¼¼

Subject

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

»õ·Ó°Ô ±¸ÃàÇÑ Set ¿¡¼­´Â, ÀÌÈÄÀÇ º¯°æÀ» Çã°¡Çϱâ Àü¿¡, ÀÌ Subject °¡ Àоîµé¿© Àü¿ëÀ¸·Î ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº°¡¸¦ È®ÀÎÇÕ´Ï´Ù. »õ·Ó°Ô ÀÛ¼ºÇÑ Set ´Â, È£Ãâ Ãø¿¡ ÃæºÐÇÑ ¾×¼¼½º±Ç (¿¹¸¦ µé¾î Principal ÀÇ Set ¸¦ º¯°æÇϱâ À§Çؼ­´Â È£Ãâ Ãø¿¡ AuthPermission("modifyPrincipals") °¡ ¾øÀ¸¸é ¾È µÈ´Ù)°¡ ÀÖ´Â °ÍÀ» ÇÁ·ÎÅØ¼ÇÇÏ´Â °ÍÀ¸·Î, ºÎÁ¤ÇÑ º¯°æÀ¸·ÎºÎÅÍ º¸È£Çϰí ÀÖ½À´Ï´Ù.


Subject

public Subject(boolean readOnly,
               java.util.Set principals,
               java.util.Set pubCredentials,
               java.util.Set privCredentials)
Principal ÀÇ ÁöÁ¤ÇÑ Set ¿Í ÀÚ°ÝÀ¸·Î,Subject ÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

ÁöÁ¤ÇÑ Set ¿¡¼­´Â, ÀÌÈÄÀÇ º¯°æÀ» Çã°¡Çϱâ Àü¿¡, ÀÌ Subject °¡ Àоîµé¿© Àü¿ëÀ¸·Î ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °ÍÀ» È®ÀÎÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ÁöÁ¤ÇÑ Set ´Â, È£Ãâ Ãø¿¡ ÃæºÐÇÑ ¾×¼¼½º±ÇÀÌ ÀÖ´Â °ÍÀ» ÇÁ·ÎÅØ¼ÇÇÏ´Â °ÍÀ¸·Î, ºÎÁ¤ÇÑ º¯°æÀ¸·ÎºÎÅÍ º¸È£ÇÏ´Â Àϵµ ÇÊ¿äÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
readOnly - Subject °¡ Àоîµé¿© Àü¿ëÀÇ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false

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

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

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

setReadOnly

public void setReadOnly()
ÀÌ Subject ¸¦ Àоîµé¿© Àü¿ëÀ¸·Î ¼³Á¤ÇÕ´Ï´Ù.

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

±× ÈÄ, Subject ÀÇ Principal ³ª ÀÚ°ÝÀÇ Set ¸¦ º¯°æÇÏ·Á°í Çϸé(ÀÚ),IllegalStateException °¡ ½½·Î¿ì µË´Ï´Ù. ¶Ç,Subject ¸¦ Àоîµé¿© Àü¿ëÀ¸·Î ÇÑ ´ÙÀ½¿¡, Çѹø ´õ ±âÀÔÇÒ ¼ö ÀÖµµ·Ï(µíÀÌ) ¸®¼ÂÆ® ÇÒ ¼ö ¾ø½À´Ï´Ù.

¿¹¿Ü:
java.lang.SecurityException - È£Ãâ Ãø¿¡, ÀÌ Subject ¸¦ Àоîµé¿© Àü¿ëÀ¸·Î ¼³Á¤ÇÏ´Â ¾×¼¼½º±ÇÀÌ ¾ø´Â °æ¿ì

isReadOnly

public boolean isReadOnly()
ÀÌ Subject °¡ Àоîµé¿© Àü¿ëÀÎÁö ¾î¶²Áö¸¦ ¹®ÀÇÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ Subject °¡ Àоîµé¿© Àü¿ëÀÎ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false

getSubject

public static Subject  getSubject(java.security.AccessControlContext acc)
ÁöÁ¤ÇÑ AccessControlContext ¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ¾ú´ø Subject ¸¦ ÃëµæÇÕ´Ï´Ù.

AccessControlContext ¿¡, ¸¹Àº Subject °¡ Æ÷ÇԵǴ °æ¿ì°¡ ÀÖ½À´Ï´Ù (³×½ºÆ® µÈ doAs È£Ãâ¿¡ ÀÇÇÑ´Ù). ÀÌ °æ¿ì,AccessControlContext ¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ¾ú´ø ÃÖ½ÅÀÇ Subject °¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
acc - Subject ¸¦ ÃëµæÇÏ´Â AccessControlContext
¹Ýȯ°ª:
ÀÌ AccessControlContext ¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ¾ú´ø Subject. ÀÌ AccessControlContext ¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ¾ú´ø Subject °¡ ¾ø´Â °æ¿ì´Â null
¿¹¿Ü:
java.lang.SecurityException - È£Ãâ Ãø¿¡, ÀÌ Subject ¸¦ ÃëµæÇÏ´Â ¾×¼¼½º±ÇÀÌ ¾ø´Â °æ¿ì

java.lang.NullPointerException - ÁöÁ¤ÇÑ AccessControlContext °¡ null ÀÇ °æ¿ì

doAs

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

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

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

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

¹Ýȯ°ª:
PrivilegedAction ÀÇ run ¸Þ¼Òµå¿¡ ÀÇÇØ µ¹·ÁÁÖ¾îÁö´Â Object
¿¹¿Ü:
java.lang.NullPointerException - PrivilegedAction °¡ null ÀÇ °æ¿ì

java.lang.SecurityException - È£Ãâ Ãø¿¡, ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â ¾×¼¼½º±ÇÀÌ ¾ø´Â °æ¿ì

doAs

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

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

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

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

¹Ýȯ°ª:
PrivilegedExceptionAction ÀÇ run ¸Þ¼Òµå¿¡ ÀÇÇØ µ¹·ÁÁÖ¾îÁö´Â Object
¿¹¿Ü:
java.security.PrivilegedActionException - PrivilegedExceptionAction.run ¸Þ¼Òµå°¡ üũ ¿¹¿Ü¸¦ ½½·Î¿ì ÇßÀ» °æ¿ì

java.lang.NullPointerException - ÁöÁ¤ÇÑ PrivilegedExceptionAction °¡ null ÀÇ °æ¿ì

java.lang.SecurityException - È£Ãâ Ãø¿¡, ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â ¾×¼¼½º±ÇÀÌ ¾ø´Â °æ¿ì

doAsPrivileged

public static java.lang.Object doAsPrivileged(Subject  subject,
                                              java.security.PrivilegedAction action,
                                              java.security.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
¿¹¿Ü:
java.lang.NullPointerException - PrivilegedAction °¡ null ÀÇ °æ¿ì

java.lang.SecurityException - È£Ãâ Ãø¿¡, ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â ¾×¼¼½º±ÇÀÌ ¾ø´Â °æ¿ì

doAsPrivileged

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

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

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

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

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

¹Ýȯ°ª:
PrivilegedExceptionAction ÀÇ run ¸Þ¼Òµå¿¡ ÀÇÇØ µ¹·ÁÁÖ¾îÁö´Â Object
¿¹¿Ü:
java.security.PrivilegedActionException - PrivilegedExceptionAction.run ¸Þ¼Òµå°¡ üũ ¿¹¿Ü¸¦ ½½·Î¿ì ÇßÀ» °æ¿ì

java.lang.NullPointerException - ÁöÁ¤ÇÑ PrivilegedExceptionAction °¡ null ÀÇ °æ¿ì

java.lang.SecurityException - È£Ãâ Ãø¿¡, ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â ¾×¼¼½º±ÇÀÌ ¾ø´Â °æ¿ì

getPrincipals

public java.util.Set getPrincipals()
ÀÌ Subject ¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ¾ú´ø Principal ÀÇ Set ¸¦ µ¹·ÁÁÝ´Ï´Ù. °¢ Principal ´Â, ÀÌ Subject ÀÇ ½Äº° Á¤º¸¸¦ ³ªÅ¸³À´Ï´Ù.

µ¹·ÁÁÖ¾îÁö´Â Set ´Â, ÀÌ Subject ÀÇ ³»ºÎÀûÀÎ Principal ÀÇ Set ¿Í °áºÎµÇ°í ÀÖ½À´Ï´Ù. µ¹·ÁÁÖ¾îÁø Set ¿¡ ´ëÇÑ º¯°æÀº, ³»ºÎÀÇ Principal ÀÇ Set ¿¡µµ ¿µÇâÀ» ÁÝ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ Subject ¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ¾ú´ø Principal ÀÇ Set

getPrincipals

public java.util.Set getPrincipals(java.lang.Class c)
ÁöÁ¤ÇÑ Class ÀÇ ÀνºÅϽº ¶Ç´Â ¼­ºê Ŭ·¡½ºÀÎ, ÀÌ Subject ¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ¾ú´ø Principal ÀÇ Set ¸¦ µ¹·ÁÁÝ´Ï´Ù.

µ¹·ÁÁÖ¾îÁö´Â Set ´Â, ÀÌ Subject ÀÇ ³»ºÎÀûÀÎ Principal ÀÇ Set ¿Í °áºÎµÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. ¸Þ¼Òµå È£ÃâÇÒ °Í¿¡, »õ·Î¿î Set °¡ ÀÛ¼ºµÇ¾î µ¹·ÁÁÖ¾îÁý´Ï´Ù. µ¹·ÁÁÖ¾îÁø Set ¿¡ ´ëÇÑ º¯°æÀº, ³»ºÎÀûÀÎ Principal ÀÇ Set ¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
c - µ¹·ÁÁÖ¾îÁö´Â Principal ÀÇ Set ´Â, ¸ðµÎ ÀÌ Å¬·¡½ºÀÇ ÀνºÅϽº°¡ µÇ´Â
¹Ýȯ°ª:
ÁöÁ¤ÇÑ Class ÀÇ ÀνºÅϽºÀÎ Principal ÀÇ Set
¿¹¿Ü:
java.lang.NullPointerException - ÁöÁ¤ÇÑ Class °¡ null ÀÇ °æ¿ì

getPublicCredentials

public java.util.Set getPublicCredentials()
ÀÌ Subject °¡ º¸°ü À¯ÁöÇÏ´Â °ø°³ ÀÚ°ÝÀÇ Set ¸¦ µ¹·ÁÁÝ´Ï´Ù.

µ¹·ÁÁÖ¾îÁö´Â Set ´Â, ÀÌ Subject ÀÇ ³»ºÎÀûÀÎ °ø°³ Credential ÀÇ Set ¿Í °áºÎµÇ°í ÀÖ½À´Ï´Ù. µ¹·ÁÁÖ¾îÁø Set ¿¡ ´ëÇÑ º¯°æÀº, ³»ºÎÀûÀÎ °ø°³ Credential ÀÇ Set ¿¡µµ ¿µÇâÀ» ÁÝ´Ï´Ù.

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

getPrivateCredentials

public java.util.Set getPrivateCredentials()
ÀÌ Subject °¡ º¸°ü À¯ÁöÇÏ´Â ºñ°ø°³ ÀÚ°ÝÀÇ Set ¸¦ µ¹·ÁÁÝ´Ï´Ù.

µ¹·ÁÁÖ¾îÁö´Â Set ´Â, ÀÌ Subject ÀÇ ³»ºÎÀûÀÎ ºñ°ø°³ Credential ÀÇ Set ¿Í °áºÎµÇ°í ÀÖ½À´Ï´Ù. µ¹·ÁÁÖ¾îÁø Set ¿¡ ´ëÇÑ º¯°æÀº, ³»ºÎÀûÀÎ ºñ°ø°³ Credential ÀÇ Set ¿¡µµ ¿µÇâÀ» ÁÝ´Ï´Ù.

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

getPublicCredentials

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

µ¹·ÁÁÖ¾îÁö´Â Set ´Â, ÀÌ Subject ÀÇ ³»ºÎÀûÀÎ °ø°³ Credential ÀÇ Set ¿Í °áºÎµÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. °¢ ¸Þ¼ÒµåÀÇ È£Ãâ¿¡ ´ëÇØ¼­, »õ·Î¿î Set °¡ ÀÛ¼ºµÇ¾î µ¹·ÁÁÖ¾îÁý´Ï´Ù. µ¹·ÁÁÖ¾îÁø Set ¿¡ ´ëÇÑ º¯°æÀº, ³»ºÎÀûÀÎ °ø°³ Credential ÀÇ Set ¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
c - µ¹·ÁÁÖ¾îÁö´Â °ø°³ ÀÚ°ÝÀÇ Set ´Â, ¸ðµÎ ÀÌ Å¬·¡½ºÀÇ ÀνºÅϽº°¡ µÇ´Â
¹Ýȯ°ª:
ÁöÁ¤ÇÑ Class ÀÇ ÀνºÅϽºÀÎ °ø°³ ÀÚ°ÝÀÇ Set
¿¹¿Ü:
java.lang.NullPointerException - ÁöÁ¤ÇÑ Class °¡ null ÀÇ °æ¿ì

getPrivateCredentials

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

µ¹·ÁÁÖ¾îÁö´Â Set ´Â, ÀÌ Subject ÀÇ ³»ºÎÀûÀÎ ºñ°ø°³ Credential ÀÇ Set ¿Í °áºÎµÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. °¢ ¸Þ¼ÒµåÀÇ È£Ãâ¿¡ ´ëÇØ¼­, »õ·Î¿î Set °¡ ÀÛ¼ºµÇ¾î µ¹·ÁÁÖ¾îÁý´Ï´Ù. µ¹·ÁÁÖ¾îÁø Set ¿¡ ´ëÇÑ º¯°æÀº, ³»ºÎÀûÀÎ ºñ°ø°³ Credential ÀÇ Set ¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
c - µ¹·ÁÁÖ¾îÁö´Â ºñ°ø°³ ÀÚ°ÝÀÇ Set ´Â, ¸ðµÎ ÀÌ Å¬·¡½ºÀÇ ÀνºÅϽº°¡ µÇ´Â
¹Ýȯ°ª:
ÁöÁ¤ÇÑ Class ÀÇ ÀνºÅϽºÀÎ ºñ°ø°³ ÀÚ°ÝÀÇ Set
¿¹¿Ü:
java.lang.NullPointerException - ÁöÁ¤ÇÑ Class °¡ null ÀÇ °æ¿ì

equals

public boolean equals(java.lang.Object o)
ÁöÁ¤ÇÑ Object °÷ÀÇ Subject °¡ µ¿ÀÏÇÑÁö ¾î¶²Áö¸¦ ºñ±³ÇÕ´Ï´Ù. ÁöÁ¤ÇÑ ¿ÀºêÁ§Æ®°¡ Subject À̸ç, 2 °³ÀÇ Subject ÀνºÅϽº°¡ µî°¡ÀÎ °æ¿ì¿¡ true ¸¦ µ¹·ÁÁÝ´Ï´Ù. º¸´Ù Á¤È®ÇϰԴÂ,Principal ÀÇ Set ¿Í Credential ÀÇ Set °¡ µ¿ÀÏÇÑ °æ¿ì¿¡, 2 °³ÀÇ Subject ÀνºÅϽº´Â µ¿ÀÏÇØÁý´Ï´Ù.

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

toString

public java.lang.String toString()
ÀÌ Subject ÀÇ String Ç¥ÇöÀ» µ¹·ÁÁÝ´Ï´Ù.

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

hashCode

public int hashCode()
ÀÌ Subject ÀÇ ÇØ½Ã Äڵ带 µ¹·ÁÁÝ´Ï´Ù.

ÀÌ ÇØ½Ã ÄÚµå´Â, ÀÌ Subject ÀÇ Principal ¹× ÀÚ°ÝÀÇ ÇØ½Ã ÄÚµåÀÇ ¹èŸ ³í¸®ÇÕ¿¡ ÀÇÇØ ¿ä±¸ÇÕ´Ï´Ù.

ƯÁ¤ÀÇ ÀÚ°ÝÀÌ ¼Ò¸êÇß´Ù (credential.hashCode() °¡ IllegalStateException ¸¦ ½½·Î¿ì) °æ¿ì, ±× ÀÚ°ÝÀÇ ÇØ½Ã ÄÚµå´Â credential.getClass(). toString(). hashCode() ¿¡ ÀÇÇØ ¿ä±¸ÇÕ´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º java.lang.Object ³»ÀÇ hashCode
¹Ýȯ°ª:
ÀÌ Subject ÀÇ ÇØ½Ã ÄÚµå
¿¹¿Ü:
java.lang.SecurityException - È£Ãâ Ãø¿¡ ÀÌ Subject ÀÇ ºñ°ø°³ ÀÚ°Ý¿¡ÀÇ ¾×¼¼½º±ÇÀÌ ¾ø´Â °æ¿ì


Copyright 2002 Sun Microsystems, Inc. All rights reserved.
»ç¿ë¿¡´Â»ç¿ë Çã¶ô °è¾àÀÌ Àû¿ëµË´Ï´Ù.