JavaTM 2
Platform
Std.  Ed.  v1. 4.0

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

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

public class LoginContext
extends Object

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

ÀÌ Å¬·¡½º´Â Ç÷¯±× ÀÎ °¡´ÉÇÑ ÀÎÁõÀ» ¼­Æ÷Æ®ÇÒ »Ó¸¸ ¾Æ´Ï¶ó, ½ºÅà µÈ ÀÎÁõÀÇ °³³äµµ ¼­Æ÷Æ®ÇÕ´Ï´Ù. ¹Ù²Ù¾î ¸»Çϸé(ÀÚ), ¾îÇø®ÄÉÀ̼ǿ¡¼­´Â LoginModule ¸¦ 1 °³ ÀÌ»ó »ç¿ëÇϵµ·Ï(µíÀÌ) ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, 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 ´Â ÀÎÁõ Àüü°¡ ¼º°øÇßÀ» °æ¿ì¿¡,LoginContext Ŭ·¡½ºÀÇ getSubject ¸Þ¼Òµå¿¡ ÀÇÇØ µ¹·ÁÁÖ¾îÁý´Ï´Ù. LoginModule ´Â AccessController.doPrivileged È£ÃâÀÇ ³»ºÎ·ÎºÎÅÍ Ç×»ó ºÒ·Á °©´Ï´Ù. ±× ¶§¹®¿¡, º¸¾È»ó Áß¿äÇÑ ÀÛ¾÷ (¸®¸ðÆ® È£½ºÆ®¿¡ Á¢¼ÓÇÏ´Â µî)À» ½ÇÇàÇÏ´Â LoginModule ·Î, ½ÃÅ¥·¯Æ¼ Policy ÀÇ °ü·ÃÇÏ´Â Permission ÀÇ ºÎ¿©°¡ ÇÊ¿äÇØµµ, LoginModule ÀÇ È£Ãâ Ãø¿¡, ÀÌ·¯ÇÑ Permission ´Â ÇÊ¿ä ¾ø½À´Ï´Ù.

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

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

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

»ý¼ºÀÚÀÇ °³¿ä
LoginContext (String  name)
          LoginContext Ŭ·¡½ºÀÇ constructor ÀÔ´Ï´Ù.
LoginContext (String  name, CallbackHandler  callbackHandler)
          LoginContext Ŭ·¡½ºÀÇ constructor ÀÔ´Ï´Ù.
LoginContext (String  name, Subject  subject)
          LoginContext Ŭ·¡½ºÀÇ constructor ÀÔ´Ï´Ù.
LoginContext (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
 

»ý¼ºÀÚÀÇ »ó¼¼

LoginContext

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

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

ÀÌ constructor ¿¡¼­´Â CallbackHandler ¸¦ ¹Þ¾ÆµéÀÌÁö ¾Ê½À´Ï´Ù. auth.login.defaultCallbackHandler ½ÃÅ¥·¯Æ¼ ÇÁ·ÎÆÛƼ°¡ µðÆúÆ®ÀÇ CallbackHandler ±¸Çö Ŭ·¡½ºÀÇ ¿ÏÀü ¼ö½Ä¸íÀ¸·Î ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì, ±× CallbackHandler °¡ ·Îµå µÇ¾î ±âº»ÀÌ µÇ´Â LoginModule ¿¡°Ô °Ç³×Áý´Ï´Ù. ½ÃÅ¥·¯Æ¼ ÇÁ·ÎÆÛƼ°¡ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì, ±âº»ÀÌ µÇ´Â LoginModule ´Â À¯Àú¿Í Åë½ÅÇϱâ À§Çؼ­ »ç¿ëÇÏ´Â CallbackHandler ¸¦ °¡ÁöÁö ¾Ê°Ô µË´Ï´Ù. ±× ¶§¹®¿¡, È£ÃâÃø¿¡¼­´Â ±¸¼º ³¡³­ LoginModule ¿¡, À¯Àú¸¦ ÀÎÁõÇÏ´Â ´ëü ¹æ¹ýÀÌ ÀÖ´Ù°í º¾´Ï´Ù.

auth.login.defaultCallbackHandler ½ÃÅ¥·¯Æ¼ ÇÁ·ÎÆÛƼ´Â <JAVA_HOME>/lib/security/java.security ¶ó°í ÇÏ´Â ÆÄÀÏ¿¡ ÀÖ´Â Java ½ÃÅ¥·¯Æ¼ ÇÁ·ÎÆÛƼ ÆÄÀÏ·Î ¼³Á¤ÇÕ´Ï´Ù. <JAVA_HOME> ´Â SDK °¡ ÀνºÅç µÈ µð·ºÅ丮ÀÔ´Ï´Ù.

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

ÆÄ¶ó¹ÌÅÍ:
name - Configuration ÀÇ À妽º·Î¼­ »ç¿ëµÇ´Â À̸§
¿¹¿Ü:
LoginException - ÁöÁ¤ÇÑ name °¡ Configuration ¿¡ ¾ø°í, other ¶ó°í ÇÏ´Â Configuration ¿£Æ®¸®°¡ ¾ø´Â °æ¿ì, ȤÀº auth.login.defaultCallbackHandler ½ÃÅ¥·¯Æ¼ ÇÁ·ÎÆÛƼ°¡ ¼³Á¤µÇ¾î ÀÖ´Â °Í¿¡µµ ºÒ±¸Çϰí, ±¸Çö Ŭ·¡½º¸¦ ·ÎµåÇÒ ¼ö ¾ø¾ú´ø °æ¿ì

LoginContext

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

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

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

ÀÌ constructor ¿¡¼­´Â CallbackHandler ¸¦ ¹Þ¾ÆµéÀÌÁö ¾Ê½À´Ï´Ù. auth.login.defaultCallbackHandler ½ÃÅ¥·¯Æ¼ ÇÁ·ÎÆÛƼ°¡ µðÆúÆ®ÀÇ CallbackHandler ±¸Çö Ŭ·¡½ºÀÇ ¿ÏÀü ¼ö½Ä¸íÀ¸·Î ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì, ±× CallbackHandler °¡ ·Îµå µÇ¾î ±âº»ÀÌ µÇ´Â LoginModule ¿¡°Ô °Ç³×Áý´Ï´Ù. ½ÃÅ¥·¯Æ¼ ÇÁ·ÎÆÛƼ°¡ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì, ±âº»ÀÌ µÇ´Â LoginModule ´Â À¯Àú¿Í Åë½ÅÇϱâ À§Çؼ­ »ç¿ëÇÏ´Â CallbackHandler ¸¦ °¡ÁöÁö ¾Ê°Ô µË´Ï´Ù. ±× ¶§¹®¿¡, È£ÃâÃø¿¡¼­´Â ±¸¼º ³¡³­ LoginModule ¿¡, À¯Àú¸¦ ÀÎÁõÇÏ´Â ´ëü ¹æ¹ýÀÌ ÀÖ´Ù°í º¾´Ï´Ù.

auth.login.defaultCallbackHandler ½ÃÅ¥·¯Æ¼ ÇÁ·ÎÆÛƼ´Â <JAVA_HOME>/lib/security/java.security ¶ó°í ÇÏ´Â ÆÄÀÏ¿¡ ÀÖ´Â Java ½ÃÅ¥·¯Æ¼ ÇÁ·ÎÆÛƼ ÆÄÀÏ·Î ¼³Á¤ÇÕ´Ï´Ù. <JAVA_HOME> ´Â SDK °¡ ÀνºÅç µÇ°í ÀÖ´Â µð·ºÅ丮ÀÔ´Ï´Ù.

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

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

subject - ÀÎÁõ ´ë»óÀÇ Object
¿¹¿Ü:
LoginException - ÁöÁ¤ÇÑ name °¡ Configuration ¿¡ ¾ø°í, other ¶ó°í ÇÏ´Â Configuration ¿£Æ®¸®°¡ ¾ø´Â °æ¿ì, ÁöÁ¤ÇÑ subject °¡ null ÀÇ °æ¿ì, ȤÀº auth.login.defaultCallbackHandler ½ÃÅ¥·¯Æ¼ ÇÁ·ÎÆÛƼ°¡ ¼³Á¤µÇ¾î ÀÖ´Â °Í¿¡µµ ºÒ±¸Çϰí, ±¸Çö Ŭ·¡½º¸¦ ·ÎµåÇÒ ¼ö ¾ø¾ú´ø °æ¿ì

LoginContext

public LoginContext(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 ´Â Subject ÀÚü¸¦ ÀνºÅϽºÈ­ÇÕ´Ï´Ù.

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

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

LoginContext

public LoginContext(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 - ÀÎÁõ ´ë»óÀÇ Object

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 ¸¦ µ¹·ÁÁØ´Ù

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

¹ö±×ÀÇ º¸°í¿Í ±â´ÉÀÇ ¸®Äù½ºÆ®
ÀÌ¿ÜÀÇ API ·¹ÆÛ·±½º ¹× °³¹ßÀÚ¿ë ¹®¼­¿¡ ´ëÇØ¼­´Â Java 2 SDK SE °³¹ßÀÚ¿ë ¹®¼­¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä. °³¹ßÀÚÀü¿ëÀÇ »ó¼¼ÇÑ ÇØ¼³, °³³äÀÇ °³¿ä, ¿ë¾îÀÇ Á¤ÀÇ, ¹ö±×ÀÇ È¸ÇÇÃ¥, ¹× ÄÚµå ½Ç·Ê°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.

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.