javax.security.auth.login
Ŭ·¡½º LoginContext

java.lang.Object
  |
  +--javax.security.auth.login.LoginContext

public class LoginContext
extends java.lang.Object

LoginContext Ŭ·¡½º´Â, Subject ¸¦ ÀÎÁõÇϱâ À§ÇÑ ±âº»ÀûÀÎ ¸Þ¼Òµå¸¦ ±â¼úÇØ, ±âº»ÀÌ µÇ´Â ÀÎÁõ Å×Å©³î·¯Áö¿¡ ÀÇÁ¸ÇÏÁö ¾Ê´Â ¾îÇø®ÄÉÀÌ¼Ç °³¹ßÀÇ ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù. Configuration ´Â, ¾îÇø®ÄÉÀ̼ÇÀ¸·Î »ç¿ëµÇ´Â ÀÎÁõ Å×Å©³î·¯Áö (LoginModule)¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ±× ¶§¹®¿¡, ¾îÇø®ÄÉÀÌ¼Ç ÀÚü·Î º¯°æÀ» ´õÇÏ´Â ÀÏ ¾øÀÌ, ¾îÇø®ÄÉÀ̼ǿ¡ ´Ù¸¥ LoginModule ¸¦ Ç÷¯±× ÀÎ ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.

ÀÌ Å¬·¡½º´Â, Ç÷¯±× ÀÎ °¡´ÉÇÑ ÀÎÁõÀ» ¼­Æ÷Æ®ÇÒ »Ó¸¸ ¾Æ´Ï¶ó, ½ºÅà µÈ ÀÎÁõÀÇ °³³äµµ ¼­Æ÷Æ®ÇÕ´Ï´Ù. ¹Ù²Ù¾î ¸»Çϸé(ÀÚ), ¾îÇø®ÄÉÀ̼ǿ¡¼­´Â LoginModule ¸¦ 2 °³ ÀÌ»ó »ç¿ëÇϵµ·Ï(µíÀÌ) ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, 1 °³ÀÇ ¾îÇø®ÄÉÀ̼ÇÀ¸·Î Kerberos LoginModule ¿Í ½º¸¶Æ® Ä«µå LoginModule ÀÇ ¾çÂÊ ¸ðµÎ¸¦ ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.

Åë»óÀÇ È£ÃâÃøÀº, ÀÌ Å¬·¡½º¸¦ ÀνºÅϽºÈ­ÇØ name ¿Í CallbackHandler ¿¡ °Ç³×ÁÝ´Ï´Ù. LoginContext ¿¡¼­´Â name ¸¦ Configuration ÀÇ À妽º·Î¼­ »ç¿ëÇØ, »ç¿ëµÇ°í ÀÖ´Â LoginModule ³ª, ÀÎÁõ Àüü°¡ ¼º°øÇϱâ À§Çؼ­(¶§¹®¿¡) ¼º°øÇÏÁö ¾ÊÀ¸¸é ¾È µÇ´Â LoginModule ¸¦ ÆÇÁ¤ÇÕ´Ï´Ù. CallbackHandler ´Â ±âº»ÀÌ µÇ´Â LoginModule ¿¡°Ô °Ç³×Á® LoginModule ´Â À¯Àú¿ÍÀÇ ÁÖ°í¹Þ¾Æ (±×·¡ÇÇÄà À¯Àú ÀÎÅÍÆäÀ̽º·Î À¯Àú¸í°ú ÆÐ½º¿öµåÀÇ ÀÔ·ÂÀ» ¿ä±¸ÇÏ´Â µî)¸¦ ½Ç½ÃÇÕ´Ï´Ù.

È£ÃâÃøÀÌ LoginContext ¸¦ ÀνºÅϽºÈ­Çϸé(ÀÚ),login ¸Þ¼Òµå¸¦ È£ÃâÇØ Subject ¸¦ ÀÎÁõÇÕ´Ï´Ù. ÀÌ login ¸Þ¼Òµå´Â, È£ÃâÃøÀÌ ÁöÁ¤ÇÑ name ¿ëÀ¸·Î ±¸¼ºµÈ °¢ LoginModule ·ÎºÎÅÍ login ¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù. ±×¸®°í, °¢ LoginModule ¿¡¼­´Â °¢°¢ÀÇ ÀÎÁõ ŸÀÔÀ» ½ÇÇàÇÕ´Ï´Ù (À¯Àú¸í°ú ÆÐ½º¿öµå, ½º¸¶Æ® Ä«µå PIN ÀÎÁõ µî). ÀÎÁõÀÌ ½ÇÆÐÇßÀ» °æ¿ì¿¡, LoginModule ¿¡¼­´Â ÀÎÁõÀ» Àç½ÃÇàÇϰųª À¯¿¹¸¦ Áְųª ÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ·± Á¾·ùÀÇ Ã³¸®´Â È£ÃâÇØ ¿·ÀÌ ½Ç½ÃÇÕ´Ï´Ù.

ÀÎÁõ Àüü°¡ ¼º°øÇß´ÂÁö ¾î¶°Çß´ÂÁö¿¡ °ü°è¾øÀÌ, ÀÌ login ¸Þ¼Òµå¿¡¼­´Â, ±¸¼ºµÈ °¢ LoginModule ¿¡ ´ëÇØ¼­ commit ¸Þ¼Òµå³ª abort ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î, 2 ±¹¸éÀÇ ÀÎÁõ ÇÁ·Î¼¼½º¸¦ ¿Ï·áÇÕ´Ï´Ù. ÀÎÁõ Àüü°¡ ¼º°øÇßÀ» °æ¿ì´Â, °¢ LoginModule ¿¡ ´ëÇØ¼­ commit ¸Þ¼Òµå°¡ ºÒ·Á °¡ ÀÎÁõ Àüü°¡ ½ÇÆÐÇßÀ» °æ¿ì´Â, °¢ LoginModule ¿¡ ´ëÇØ¼­ abort ¸Þ¼Òµå°¡ ºÒ·Á °©´Ï´Ù. ¼º°øÇÑ °¢ LoginModule ÀÇ commit ¿¡¼­´Â, °ü·ÃÇÏ´Â Principal (ÀÎÁõµÈ ½Äº° Á¤º¸)¿Í Credential (¾Ïȣȭ¿­¼èµîÀÇ ÀÎÁõ µ¥ÀÌÅÍ)°¡,Subject ¿Í °ü·ÃÁöÀ» ¼ö ÀÖ½À´Ï´Ù. °¢ LoginModule ÀÇ abort ¸Þ¼Òµå´Â, ¸ÕÀú °Ý³³µÈ ÀÎÁõ »óŸ¦ Ŭ¸° ¾÷, ¶Ç´Â »èÁ¦/ÆÄ±âÇÕ´Ï´Ù.

login ¸Þ¼Òµå°¡ ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â ÀÏ ¾øÀÌ µÇµ¹¾Æ ¿ÔÀ» °æ¿ì´Â, ÀÎÁõ Àüü¿¡ ¼º°øÇÑ °ÍÀÌ µË´Ï´Ù. ±×¸®°í, È£ÃâÃøÀº getSubject ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î, »õ·Ó°Ô ÀÎÁõµÈ Subject ¸¦ ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù. Subject ¿Í °ü·ÃÁöÀ» ¼ö ÀÖ¾ú´ø Principal ¿Í Credential ´Â, Subject ÀÇ getPrincipals,getPublicCredentials, ¹× getPrivateCredentials ÀÇ °¢ ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù.

Subject ¸¦ ·Î±×¾Æ¿ô ½ÃŰ·Á¸é , È£ÃâÃø¿¡¼­ logout ¸Þ¼Òµå¸¦ È£ÃâÇÒ »ÓÀÔ´Ï´Ù º¾´Ï´Ù. login ¸Þ¼Òµå¿Í °°°Ô ÀÌ logout ¸Þ¼Òµå¿¡¼­´Â, ÀÌ LoginContext ¿ëÀ¸·Î ±¸¼ºµÈ °¢ LoginModule ÀÇ logout ¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù. °¢ LoginModule ÀÇ logout ¸Þ¼Òµå´Â, »óŸ¦ Ŭ¸° ¾÷ ÇØ,Subject ·ÎºÎÅÍ Principal ¿Í Credential ¸¦ ÀûÀýÈ÷ »èÁ¦ ¶Ç´Â ÆÄ±âÇÕ´Ï´Ù.

LoginContext ¿¡ ÀÇÇØ ºÒ·Á °£ ±¸¼º ³¡³­ °¢ LoginModule ¿¡¼­´Â, ÀÎÁõÀ» ¹Þ´Â Subject, À¯Àú¿Í Åë½ÅÇϱâ À§ÇÑ CallbackHandler, °øÀ¯ LoginModule »óÅÂ, ¹× LoginModule °íÀ¯ÀÇ ¿É¼ÇÀ¸·Î ÃʱâÈ­µË´Ï´Ù. LoginContext ¿¡ Subject °¡ °Ç³×¹ÞÁö ¾Ê´Â °æ¿ì´Â, ÀÚµ¿ÀûÀ¸·Î ÀνºÅϽºÈ­ÇÕ´Ï´Ù. À¯Àú ÀÎÁõ¿¡ ¼º°øÇÑ °¢ LoginModule ´Â Subject ¸¦ °ü·ÃÇÏ´Â À¯Àú Á¤º¸ (Principal ¹× Credential)·Î °»½ÅÇÕ´Ï´Ù. ÀÎÁõ Àüü°¡ ¼º°øÇßÀ» °æ¿ì, ÀÌ Subject ´Â getSubject ¸Þ¼Òµå¸¦ ÅëÇØ¼­ LoginContext Ŭ·¡½º·ÎºÎÅÍ µ¹·ÁÁÖ´Â °ÍÀÌ °¡´ÉÇÕ´Ï´Ù. LoginModules ´Â Ç×»ó AccessController.doPrivileged È£Ãâ ³»ºÎ·ÎºÎÅÍ ºÒ·Á °¡´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. µû¶ó¼­, ½ÃÅ¥·¯Æ¼¿¡ ¹Î°¨ÇÑ Å½ºÅ© (¸®¸ðÆ® È£½ºÆ®¿¡ÀÇ Á¢¼Óµî)¸¦ ½ÇÇàÇÏ´Â LoginModule ´Â ½ÃÅ¥·¯Æ¼ Policy ¿¡ À־ÀÇ °ü·Ã Permission °¡ ÁÖ¾îÁöÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù¸¸, LoginModules ÀÇ È£ÃâÃøÀº ±×·¯ÇÑ Permission °¡ ÇÊ¿äÇÏÁö´Â ¾Ê½À´Ï´Ù.

LoginContext ¿¡¼­´Â, È£Ãâ ¾îÇø®ÄÉÀ̼ǿ¡ ÀÇÇÑ ÀÎÁõÀÇ Àç½ÃÇàÀ» ¼­Æ÷Æ®Çϰí ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, À¯Àú°¡ ÆÐ½º¿öµå¸¦ À߸øÇØ ÀÔ·ÂÇßÀ» °æ¿ì, LoginContext ÀÇ login ¸Þ¼Òµå¸¦ ¿©·¯ Â÷·Ê È£ÃâÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ´Ù¸¸, 1 °³ÀÇ LoginContext ¸¦ º¹¼öÀÇ Subject ¸¦ ÀÎÁõÇϱâ À§Çؼ­ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. ´Ù¸¥ Subject ¸¦ ÀÎÁõÇÏ·Á¸é , ´Ù¸¥ LoginContext ¸¦ »ç¿ëÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.

°°Àº LoginContext ÀÇ ¿©·¯ Â÷·Ê È£ÃâÀº,LoginModule »óųª LoginModule °íÀ¯ÀÇ ¿É¼Ç¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù.

°ü·Ã Ç׸ñ:
Subject , CallbackHandler , Configuration , LoginModule

constructor¡¡ ¡¡ ÀÇ °³¿ä
LoginContext (java.lang.String name)
          LoginContext Ŭ·¡½ºÀÇ constructor¡¡ ¡¡ ÀÔ´Ï´Ù.
LoginContext (java.lang.String name, CallbackHandler  callbackHandler)
          LoginContext Ŭ·¡½ºÀÇ constructor¡¡ ¡¡ ÀÔ´Ï´Ù.
LoginContext (java.lang.String name, Subject  subject)
          LoginContext Ŭ·¡½ºÀÇ constructor¡¡ ¡¡ ÀÔ´Ï´Ù.
LoginContext (java.lang.String name, Subject  subject, CallbackHandler  callbackHandler)
          LoginContext Ŭ·¡½ºÀÇ constructor¡¡ ¡¡ ÀÔ´Ï´Ù.
 
¸Þ¼ÒµåÀÇ °³¿ä
 Subject getSubject ()
          ÀÎÁõµÈ Subject ¸¦ µ¹·ÁÁÝ´Ï´Ù.
 void login ()
          ÀÎÁõÀ» ½ÇÇàÇØ, ¼º°øÇßÀ» °æ¿ì´Â, Principal ¿Í Credential ¸¦ ÀÎÁõÇÑ Subject ¿Í °ü·ÃÁþ½À´Ï´Ù.
 void logout ()
          Subject ¸¦ ·Î±×¾Æ¿ô ÇÕ´Ï´Ù.
 
Ŭ·¡½º java.lang.Object ·ÎºÎÅÍ °è½ÂÇÑ ¸Þ¼Òµå
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

constructor¡¡ ¡¡ ÀÇ »ó¼¼

LoginContext

public LoginContext(java.lang.String name)
             throws LoginException 
LoginContext Ŭ·¡½ºÀÇ constructor¡¡ ¡¡ ÀÔ´Ï´Ù.

»õ·Î¿î LoginContext ¿ÀºêÁ§Æ®¸¦ À̸§À¸·Î ÃʱâÈ­ÇÕ´Ï´Ù. LoginContext ¿¡¼­´Â, ÁöÁ¤ÇÑ À̸§À» Configuration ÀÇ À妽º·Î¼­ »ç¿ëÇØ, »ç¿ëµÇ°í ÀÖ´Â LoginModule ¸¦ ÆÇÁ¤ÇÕ´Ï´Ù. ÁöÁ¤ÇÑ À̸§ÀÌ Configuration ³»ÀÇ À̸§°ú ÀÏÄ¡ÇÏÁö ¾Ê´Â °æ¿ì´Â, µðÆúÆ®ÀÇ Configuration ¿£Æ®¸®ÀÎ other ¸¦ »ç¿ëÇÕ´Ï´Ù. other ÀÇ Configuration ¿£Æ®¸®°¡ ¾ø´Â °æ¿ì´Â,LoginException °¡ ½½·Î¿ì µË´Ï´Ù.

ÀÌ constructor¡¡ ¡¡ Àº CallbackHandler ¸¦ Çã°¡ÇÏÁö ¾Ê½À´Ï´Ù. µû¶ó¼­, ºÎÇÏÀÇ LoginModule ´Â À¯Àú¿ÍÀÇ Åë½Å¿¡ »ç¿ë °¡´ÉÇÑ CallbackHandler ¸¦ °¡ÁöÁö ¾Ê½À´Ï´Ù. ÀÌ ¶§¹®¿¡, È£ÃâÃøÀº ¼³Á¤µÈ LoginModule °¡ À¯Àú ÀÎÁõÀÇ ´ëü ¼ö´ÜÀ» °¡Áö¸é(ÀÚ) °£ÁÖÇÕ´Ï´Ù.

ÀÌ constructor¡¡ ¡¡ ¿¡¼­´Â Subject ¸¦ ÁöÁ¤ÇÒ ¼ö ¾ø±â ¶§¹®¿¡,Subject ´Â ÀÚµ¿ÀûÀ¸·Î ÀνºÅϽºÈ­ µË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
name - Configuration ÀÇ À妽º·Î¼­ »ç¿ëµÇ´Â À̸§
¿¹¿Ü:
LoginException - ÁöÁ¤µÈ name °¡ Configuration ¿¡ Á¸ÀçÇÏÁö ¾Ê°í,Configuration ¿£Æ®¸®¿¡ other °¡ ¾ø´Â °æ¿ì

LoginContext

public LoginContext(java.lang.String name,
                    Subject  subject)
             throws LoginException 
LoginContext Ŭ·¡½ºÀÇ constructor¡¡ ¡¡ ÀÔ´Ï´Ù.

»õ·Î¿î LoginContext ¿ÀºêÁ§Æ®¸¦ À̸§°ú Subject ¿ÀºêÁ§Æ®·Î ÃʱâÈ­ÇÕ´Ï´Ù.

LoginContext ¿¡¼­´Â, À̸§À» Configuration ÀÇ À妽º·Î¼­ »ç¿ëÇØ, »ç¿ëµÇ°í ÀÖ´Â LoginModule ¸¦ ÆÇÁ¤ÇÕ´Ï´Ù. ÁöÁ¤ÇÑ À̸§ÀÌ Configuration ³»ÀÇ À̸§°ú ÀÏÄ¡ÇÏÁö ¾Ê´Â °æ¿ì´Â, µðÆúÆ®ÀÇ Configuration ¿£Æ®¸®ÀÎ other ¸¦ »ç¿ëÇÕ´Ï´Ù. other ÀÇ Configuration ¿£Æ®¸®°¡ ¾ø´Â °æ¿ì´Â,LoginException °¡ ½½·Î¿ì µË´Ï´Ù.

ÀÌ constructor¡¡ ¡¡ Àº CallbackHandler ¸¦ Çã°¡ÇÏÁö ¾Ê½À´Ï´Ù. µû¶ó¼­, ºÎÇÏÀÇ LoginModule ´Â À¯Àú¿ÍÀÇ Åë½Å¿¡ »ç¿ë °¡´ÉÇÑ CallbackHandler ¸¦ °¡ÁöÁö ¾Ê½À´Ï´Ù. ÀÌ ¶§¹®¿¡, È£ÃâÃøÀº ¼³Á¤µÈ LoginModule °¡ À¯Àú ÀÎÁõÀÇ ´ëü ¼ö´ÜÀ» °¡Áö¸é(ÀÚ) °£ÁÖÇÕ´Ï´Ù.

LoginContext ´Â Subject ¿ÀºêÁ§Æ®¸¦ ±¸¼º ³¡³­ LoginModule ¿¡ °Ç³×ÁÝ´Ï´Ù. À̰Ϳ¡ ÀÇÇØ, LoginModule ´Â, ÀÎÁõÀ» Ãß°¡ ½ÇÇàÇϰųª »õ·Î¿î Principal ¿Í Credential ·Î Subject ¸¦ °»½ÅÇϰųª ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
name - Configuration ÀÇ À妽º·Î¼­ »ç¿ëµÇ´Â À̸§

subject - ÀÎÁõ ´ë»óÀÇ Subject
¿¹¿Ü:
LoginException - ÁöÁ¤ÇÑ name °¡ Configuration ¿¡ Á¸ÀçÇÏÁö ¾Ê°í, other ¶ó°í ÇÏ´Â Configuration ¿£Æ®¸®°¡ ¾ø´Â °æ¿ì, ȤÀº ÁöÁ¤ÇÑ subject °¡ null ÀÇ °æ¿ì

LoginContext

public LoginContext(java.lang.String name,
                    CallbackHandler  callbackHandler)
             throws LoginException 
LoginContext Ŭ·¡½ºÀÇ constructor¡¡ ¡¡ ÀÔ´Ï´Ù.

»õ·Î¿î LoginContext ¿ÀºêÁ§Æ®¸¦ À̸§°ú CallbackHandler ¿ÀºêÁ§Æ®·Î ÃʱâÈ­ÇÕ´Ï´Ù.

LoginContext ¿¡¼­´Â, À̸§À» Configuration ÀÇ À妽º·Î¼­ »ç¿ëÇØ, »ç¿ëµÇ°í ÀÖ´Â LoginModule ¸¦ ÆÇÁ¤ÇÕ´Ï´Ù. ÁöÁ¤ÇÑ À̸§ÀÌ Configuration ³»ÀÇ À̸§°ú ÀÏÄ¡ÇÏÁö ¾Ê´Â °æ¿ì´Â, µðÆúÆ®ÀÇ Configuration ¿£Æ®¸®ÀÎ other ¸¦ »ç¿ëÇÕ´Ï´Ù. other ÀÇ Configuration ¿£Æ®¸®°¡ ¾ø´Â °æ¿ì´Â,LoginException °¡ ½½·Î¿ì µË´Ï´Ù.

LoginContext ´Â CallbackHandler ¿ÀºêÁ§Æ®¸¦ ±¸¼º ³¡³­ LoginModule ¿¡ °Ç³×ÁÖ±â (À§ÇØ)¶§¹®¿¡, LoginModule ´Â À¯Àú¿Í ±³È¯ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±× ¶§¹®¿¡,CallbackHandler ¿ÀºêÁ§Æ®¿¡¼­´Â, LoginModule ¸¦, ¾îÇø®ÄÉÀ̼ÇÀÌ À¯Àú¿Í ±³È¯ÇÏ´Â ¹æ¹ý°ú´Â ºñÀÇÁ¸ ¿©¸§ ÀýÀÇ ºÎ¾ýÀ¸·Î ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ LoginContext ´Â ¾îÇø®ÄÉÀ̼ÇÀÌ Á¦°øÇÏ´Â CallbackHandler ¸¦ »õ·Î¿î CallbackHandler ½ÇÀåÀ¸·Î ·¦ ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ÀÌ »õ·Î¿î CallbackHandler ½ÇÀåÀÇ handle ¸Þ¼Òµå ½ÇÀå¿¡¼­´Â, ¾îÇø®ÄÉÀ̼ÇÀÌ Á¦°øÇÏ´Â CallbackHandler ÀÇ handle ¸Þ¼ÒµåÀÇ È£ÃâÀ», È£ÃâÃøÀÇ ÇöÀçÀÇ AccessControlContext ¿¡ Á¦¾àÀ» ¹Þ°í ÀÖ´Â java.security.AccessController.doPrivileged È£Ãâ³»¿¡¼­ ½ÇÇàÇÕ´Ï´Ù.

ÀÌ constructor¡¡ ¡¡ ¿¡¼­´Â Subject ¸¦ ÁöÁ¤ÇÒ ¼ö ¾ø±â ¶§¹®¿¡,Subject ´Â ÀÚµ¿ÀûÀ¸·Î ÀνºÅϽºÈ­ µË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
name - Configuration ÀÇ À妽º·Î¼­ »ç¿ëµÇ´Â À̸§

callbackHandler - LoginModule °¡ À¯Àú¿Í ±³È¯Çϱâ À§Çؼ­(¶§¹®¿¡) »ç¿ëÇÏ´Â CallbackHandler ¿ÀºêÁ§Æ®
¿¹¿Ü:
LoginException - ÁöÁ¤ÇÑ name °¡ Configuration ¿¡ ¾ø°í, other ¶ó°í ÇÏ´Â Configuration ¿£Æ®¸®°¡ ¾ø´Â °æ¿ì, ȤÀº ÁöÁ¤ÇÑ callbackHandler °¡ null ÀÇ °æ¿ì

LoginContext

public LoginContext(java.lang.String name,
                    Subject  subject,
                    CallbackHandler  callbackHandler)
             throws LoginException 
LoginContext Ŭ·¡½ºÀÇ constructor¡¡ ¡¡ ÀÔ´Ï´Ù.

»õ·Î¿î LoginContext ¿ÀºêÁ§Æ®¸¦ À̸§, ÀÎÁõÀ» ¹Þ´Â Subject ¿ÀºêÁ§Æ®, ¹× CallbackHandler ¿ÀºêÁ§Æ®·Î ÃʱâÈ­ÇÕ´Ï´Ù.

LoginContext ¿¡¼­´Â, À̸§À» Configuration ÀÇ À妽º·Î¼­ »ç¿ëÇØ, »ç¿ëµÇ°í ÀÖ´Â LoginModule ¸¦ ÆÇÁ¤ÇÕ´Ï´Ù. ÁöÁ¤ÇÑ À̸§ÀÌ Configuration ³»ÀÇ À̸§°ú ÀÏÄ¡ÇÏÁö ¾Ê´Â °æ¿ì´Â, µðÆúÆ®ÀÇ Configuration ¿£Æ®¸®ÀÎ other ¸¦ »ç¿ëÇÕ´Ï´Ù. other ÀÇ Configuration ¿£Æ®¸®°¡ ¾ø´Â °æ¿ì´Â,LoginException °¡ ½½·Î¿ì µË´Ï´Ù.

LoginContext ´Â Subject ¿ÀºêÁ§Æ®¸¦ ±¸¼º ³¡³­ LoginModule ¿¡ °Ç³×ÁÝ´Ï´Ù. À̰Ϳ¡ ÀÇÇØ, LoginModule ´Â, ÀÎÁõÀ» Ãß°¡ ½ÇÇàÇϰųª »õ·Î¿î Principal ¿Í Credential ·Î Subject ¸¦ °»½ÅÇϰųª ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.

LoginContext ´Â CallbackHandler ¿ÀºêÁ§Æ®¸¦ ±¸¼º ³¡³­ LoginModule ¿¡ °Ç³×ÁÖ±â (À§ÇØ)¶§¹®¿¡, LoginModule ´Â À¯Àú¿Í ±³È¯ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±× ¶§¹®¿¡,CallbackHandler ¿ÀºêÁ§Æ®¿¡¼­´Â, LoginModule ¸¦, ¾îÇø®ÄÉÀ̼ÇÀÌ À¯Àú¿Í ±³È¯ÇÏ´Â ¹æ¹ý°ú´Â ºñÀÇÁ¸ ¿©¸§ ÀýÀÇ ºÎ¾ýÀ¸·Î ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ LoginContext ´Â ¾îÇø®ÄÉÀ̼ÇÀÌ Á¦°øÇÏ´Â CallbackHandler ¸¦ »õ·Î¿î CallbackHandler ½ÇÀåÀ¸·Î ·¦ ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ÀÌ »õ·Î¿î CallbackHandler ½ÇÀåÀÇ handle ¸Þ¼Òµå ½ÇÀå¿¡¼­´Â, ¾îÇø®ÄÉÀ̼ÇÀÌ Á¦°øÇÏ´Â CallbackHandler ÀÇ handle ¸Þ¼ÒµåÀÇ È£ÃâÀ», È£ÃâÃøÀÇ ÇöÀçÀÇ AccessControlContext ¿¡ Á¦¾àÀ» ¹Þ°í ÀÖ´Â java.security.AccessController.doPrivileged È£Ãâ³»¿¡¼­ ½ÇÇàÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
name - Configuration ÀÇ À妽º·Î¼­ »ç¿ëµÇ´Â À̸§

subject - ÀÎÁõ ´ë»óÀÇ Subject

callbackHandler - LoginModule °¡ À¯Àú¿Í ±³È¯Çϱâ À§Çؼ­(¶§¹®¿¡) »ç¿ëÇÏ´Â CallbackHandler ¿ÀºêÁ§Æ®
¿¹¿Ü:
LoginException - ÁöÁ¤ÇÑ name °¡ Configuration ¿¡ ¾ø°í, other ¶ó°í ÇÏ´Â Configuration ¿£Æ®¸®°¡ ¾ø´Â °æ¿ì, ÁöÁ¤ÇÑ subject °¡ null ÀÇ °æ¿ì, ȤÀº ÁöÁ¤ÇÑ callbackHandler °¡ null ÀÇ °æ¿ì
¸Þ¼ÒµåÀÇ »ó¼¼

login

public void login()
           throws LoginException 
ÀÎÁõÀ» ½ÇÇàÇØ, ¼º°øÇßÀ» °æ¿ì´Â, Principal ¿Í Credential ¸¦ ÀÎÁõÇÑ Subject ¿Í °ü·ÃÁþ½À´Ï´Ù.

ÀÌ ¸Þ¼Òµå¿¡¼­´Â, ·Î±×ÀÎ Configuration ·Î Á¤ÀǵÈ,LoginContext constructor¡¡ ¡¡ ¿¡°Ô °Ç³×Áø name ¿ëÀ¸·Î ±¸¼ºµÈ °¢ LoginModule ÀÇ login ¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù. ±×¸®°í, °¢ LoginModule ¿¡¼­´Â, °¢°¢ÀÇ ÀÎÁõ ŸÀÔÀ» ½ÇÇàÇÕ´Ï´Ù (À¯Àú¸í°ú ÆÐ½º¿öµå, ½º¸¶Æ® Ä«µå PIN ÀÎÁõ µî).

ÀÌ ¸Þ¼Òµå¿¡¼­´Â, LoginContext ÀÇ ÀÎÁõ Àüü°¡ ¼º°øÇßÀ» °æ¿ì (°ü·ÃÇÏ´Â REQUIRED, REQUISITE, SUFFICIENT, OPTIONAL ÀÇ LoginModule ÀÌ ¼º°ø)¿¡ ±¸¼º ³¡³­ LoginModule ¿¡ ´ëÇØ¼­ commit ¸Þ¼Òµå¸¦ È£ÃâÇÏ´ÂÁö, ÀÎÁõ Àüü°¡ ½ÇÆÐÇßÀ» °æ¿ì¿¡ ±¸¼º ³¡³­ °¢ LoginModule ¿¡ ´ëÇØ¼­ abort ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î, 2 ±¹¸éÀÇ ÀÎÁõ ÇÁ·Î¼¼½º°¡ ¿Ï·áÇÕ´Ï´Ù. ÀÎÁõ¿¡ ¼º°øÇßÀ» °æ¿ì´Â, ¼º°øÇÑ °¢ LoginModule ÀÇ commit ¸Þ¼Òµå¿¡ ÀÇÇØ, °ü·ÃÇÏ´Â Principal ¿Í Credential °¡,Subject ¿Í °ü·ÃÁöÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÎÁõ¿¡ ½ÇÆÐÇßÀ» °æ¿ì´Â, °¢ LoginModule ÀÇ abort ¸Þ¼Òµå¿¡ ÀÇÇØ, ÀÏ´Ü º¸Á¸µÇ°í ÀÖ´ø »óŸ¦ »èÁ¦ ¶Ç´Â ÆÄ±âÇÕ´Ï´Ù.

ÀÎÁõ ÇÁ·Î¼¼½ºÀÇ commit ±¹¸é¿¡ ½ÇÆÐÇϸé(ÀÚ) ÀÎÁõ Àüü°¡ ½ÇÆÐÇØ, ÀÌ ¸Þ¼Òµå´Â ±¸¼º ³¡³­ °¢ LoginModule ¿¡ ´ëÇØ¼­ abort ¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù.

¾î¶°ÇÑ ÀÌÀ¯·Î abort ±¹¸éÀÌ ½ÇÆÐÇØµµ,login ±¹¸éÁßÀ̳ª commit ±¹¸éÁß¿¡ ½½·Î¿ì µÈ ¿øÀÇ ¿¹¿Ü¸¦ Àü´ÞÇÕ´Ï´Ù. ¾î´À ÂÊÀÇ °æ¿ìµµ, ÀÎÁõ Àüü°¡ ½ÇÆÐÇÕ´Ï´Ù.

º¹¼öÀÇ LoginModule À¸·Î ½ÇÆÐÇßÀ» °æ¿ì, ÃÖÃÊ·Î ½ÇÆÐÇÑ LoginModule ·Î ¹ß»ýÇÑ ¿¹¿Ü¸¦ Àü´ÞÇÕ´Ï´Ù.

ÀÌ ¸Þ¼Òµå°¡ abort ±¹¸é¿¡ µé¾î°¬À» (login ±¹¸éÀ̳ª commit ±¹¸é¿¡ ½ÇÆÐÇÒ) °æ¿ì´Â, ÁöÁ¤ÇÑ ¾îÇø®ÄÉÀ̼ǿëÀ¸·Î ±¸¼ºµÈ ¸ðµç LoginModule ¸¦, °¢°¢ÀÇ Configuration Ç÷¡±× ÆÄ¶ó¹ÌÅÍ¿¡ °ü°è¾øÀÌ, È£ÃâÇÕ´Ï´Ù. Áï,abort ±¹¸éÁßÀº,Requisite ¿Í Sufficient °¡ °¡Áö´Â Àǹ̴ ¹«½ÃµË´Ï´Ù. À̰Ϳ¡ ÀÇÇØ, ÀûÀýÇÑ Å¬¸° ¾÷°ú »óÅÂÀÇ º¹¿øÀ» ½Ç½ÃÇÏ´Â °ÍÀÌ ÇÁ·ÎÅØ¼ÇµË´Ï´Ù.

¿¹¿Ü:
LoginException - ÀÎÁõ¿¡ ½ÇÆÐÇßÀ» °æ¿ì

logout

public void logout()
            throws LoginException 
Subject ¸¦ ·Î±×¾Æ¿ô ÇÕ´Ï´Ù.

ÀÌ ¸Þ¼Òµå´Â, ÀÌ LoginContext ¿ëÀ¸·Î ±¸¼ºµÈ °¢ LoginModule ÀÇ logout ¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù. °¢ LoginModule ´Â, °¢°¢ÀÇ ·Î±×¾Æ¿ô 󸮸¦ ½Ç½ÃÇÕ´Ï´Ù. ·Î±×¾Æ¿ô 󸮿¡´Â,Subject ·ÎºÎÅÍÀÇ Principal ³ª Credential ÀÇ »èÁ¦/ÆÄ±â³ª, »óÅÂÀÇ Å¬¸° ¾÷µîÀÌ Æ÷ÇԵ˴ϴÙ.

ÀÌ ¸Þ¼Òµå¿¡¼­´Â, ÁöÁ¤ÇÑ ¾îÇø®ÄÉÀ̼ǿëÀ¸·Î ±¸¼ºµÈ ¸ðµç LoginModule ¸¦, °¢°¢ÀÇ Configuration Ç÷¡±× ÆÄ¶ó¹ÌÅÍ¿¡ °ü°è¾øÀÌ È£ÃâÇÕ´Ï´Ù. Áï, ÀÌ ¸Þ¼Òµå¿¡¼­´Â,Requisite ¿Í Sufficient °¡ °¡Áö´Â Àǹ̴ ¹«½ÃµË´Ï´Ù. À̰Ϳ¡ ÀÇÇØ, ÀûÀýÇÑ Å¬¸° ¾÷°ú »óÅÂÀÇ º¹¿øÀ» ½Ç½ÃÇÏ´Â °ÍÀÌ ÇÁ·ÎÅØ¼ÇµË´Ï´Ù.

¿¹¿Ü:
LoginException - ·Î±×¾Æ¿ô¿¡ ½ÇÆÐÇßÀ» °æ¿ì

getSubject

public Subject  getSubject()
ÀÎÁõµÈ Subject ¸¦ µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
ÀÎÁõµÈ Subject. ¸¸¾à ÀÎÁõ¿¡ ½ÇÆÐÇØ, Subject °¡ ÀÌ LoginContext ÀÇ constructor¡¡ ¡¡ ¿¡°Ô °Ç³×ÁöÁö ¾Ê¾Ò´ø °æ¿ì, ÀÌ ¸Þ¼Òµå´Â null ¸¦ µ¹·ÁÁØ´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì´Â, °Ç³×¹ÞÀº Subject ¸¦ µ¹·ÁÁØ´Ù


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