JavaTM 2 Platform
Standard Ed. 5.0

javax.security.auth.spi
ÀÎÅÍÆäÀ̽º LoginModule


public interface LoginModule

LoginModule¿¡ ¼­´Â ÀÎÁõ Å×Å©³î·¯Áö ÇÁ·Î¹ÙÀÌ´õ°¡ ±¸ÇöÇÏ´Â ÀÎÅÍÆäÀ̽º¸¦ ±â¼úÇÕ´Ï´Ù. LoginModule¸¦ ¾îÇø®ÄÉÀ̼ǿ¡ Ç÷¯±× ÀÎ ÇÏ´Â °ÍÀ¸·Î½á, ƯÁ¤ÀÇ ÀÎÁõ ŸÀÔÀ» Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù.

¾îÇø®ÄÉÀ̼ÇÀÌ LoginContext API¸¦ È£ÃâÇÏ´Â ÇÑÆíÀ¸·Î ÀÎÁõ Å×Å©³î·¯Áö ÇÁ·Î¹ÙÀÌ´õ´Â LoginModuleÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÕ´Ï´Ù. Configuration¿¡ ¼­´Â ƯÁ¤ÀÇ ·Î±×ÀÎ ¾îÇø®ÄÉÀ̼ÇÀ¸·Î »ç¿ëµÇ´Â LoginModule¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ±× ¶§¹®¿¡ ¾îÇø®ÄÉÀÌ¼Ç ÀÚü·Î º¯°æÀ» ´õÇÏ´Â ÀÏ ¾øÀÌ, ¾îÇø®ÄÉÀ̼ǿ¡ ´Ù¸¥ LoginModule¸¦ Ç÷¯±× ÀÎ ÇÒ ¼ö ÀÖ½À´Ï´Ù .

LoginContext´Â ConfigurationÀ» Àо, ÀûÀýÇÑ LoginModule¸¦ ÀνºÅϽºÈ­ÇÕ´Ï´Ù. °¢ LoginModule Àº, Subject, CallbackHandler, °øÀ¯ LoginModule »óÅ ¹× LoginModule °íÀ¯ÀÇ ¿É¼ÇÀ» »ç¿ëÇØ, ÃʱâÈ­µË´Ï´Ù. Subject´Â ÇöÀç ÀÎÁõÁßÀÇ Subject¸¦ ³ªÅ¸³», ÀÎÁõ¿¡ ¼º°øÇϸé, °ü·ÃµÈ Credential ·Î °»½ÅµË´Ï´Ù. LoginModule ¿¡¼­´Â CallbackHandler¸¦ »ç¿ëÇØ »ç¿ëÀÚ¿Í Åë½ÅÇÕ´Ï´Ù. ¿¹¸¦ µé¾î »ç¿ëÀÚ ¸í°ú Æнº¿öµåÀÇ ÀÔ·ÂÀ» ¿ä±¸ÇÒ ¶§, CallbackHandler¸¦ »ç¿ëÇÕ´Ï´Ù. CallbackHandler´Â null ¿¡¼­µµ °¡´ÉÀÔ´Ï´Ù. Subject¸¦ ÀÎÁõÇϱâ À§Çؼ­ ¹Ýµå½Ã CallbackHandler°¡ ÇÊ¿äÇÑ LoginModule ¿¡¼­´Â LoginExceptionÀ» Throw ÇÏ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. LoginModule ¿¡¼­´Â °øÀ¯ »óŸ¦ »ç¿ëÇØ, LoginModule °£¿¡ Á¤º¸³ª µ¥ÀÌÅ͸¦ °øÀ¯ÇÒ ¼ö ÀÖ½À´Ï´Ù .

LoginModule °íÀ¯ÀÇ ¿É¼ÇÀº °ü¸®ÀÚ³ª »ç¿ëÀÚ°¡ ·Î±×ÀÎ Configuration ³»¿¡¼­ ¼³Á¤ÇÏ´Â ÀÌ LoginModule ¿ëÀ¸·Î ±¸¼ºÇÑ ¿É¼ÇÀ» ³ªÅ¸³À´Ï´Ù. ¿É¼ÇÀº LoginModule ÀÚü¿¡ ÀÇÇØ Á¤ÀǵǾîLoginModule ³»ºÎÀÇ µ¿ÀÛÀ» Á¦¾îÇÕ´Ï´Ù. ¿¹¸¦ µé¾î µð¹ö±×³ª Å×½ºÆ® ±â´ÉÀ» Áö¿ø Çϱâ À§Çؼ­ ¿É¼ÇÀ» Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿É¼ÇÀº Å°¿Í °ªÀÇ Æä¾î (debug=true µî)¸¦ »ç¿ëÇØ Á¤ÀÇÇÕ´Ï´Ù. Å°¸¦ »ç¿ëÇØ °ªÀ» ÃëµæÇÒ ¼ö ÀÖµµ·Ï, LoginModule¿¡ ¼­´Â ¿É¼ÇÀ» Map·Î ¼­ Æ÷ÇÔÇÕ´Ï´Ù. LoginModule·Î Á¤ÀÇÇÒ ¼ö ÀÖ´Â ¿É¼ÇÀÇ ¼ö¿¡ »óÇÑÀº ¾ø½À´Ï´Ù.

È£ÃâÇÏ´Â ¾îÇø®ÄÉÀ̼ÇÀº ÀÎÁõ ÇÁ·Î¼¼½º¸¦ ´ÜÀÏ Á¶ÀÛÀ̶ó°í º¾´Ï´Ù. ±×·¯³ª, LoginModule ³»ÀÇ ÀÎÁõ ÇÁ·Î¼¼½º´Â 2°³ÀÇ º°µµÀÎ ±¹¸éÀ¸·Î 󸮵˴ϴÙ. ÃÖÃÊÀÇ ±¹¸é¿¡¼­´Â LoginModule login ¸Þ¼­µå°¡ LoginContext login ¸Þ¼­µå¿¡ ÀÇÇØ È£ÃâÇÕ´Ï´Ù. LoginModule login ¸Þ¼­µå¿¡¼­´Â ½ÇÁ¦ÀÇ ÀÎÁõ (¿¹¸¦ µé¾î Æнº¿öµåÀÇ ÀÔ·ÂÀ» ¿ä±¸ÇØ °ËÁõÇÑ´Ù)À» ½ÇÇàÇØ, ÀÎÁõ »óŸ¦ ºñ°ø°³ »óÅ Á¤º¸·Î¼­ ÀúÀåÇÕ´Ï´Ù. ³¡³ª¸é, LoginModule login ¸Þ¼­µå¿¡¼­´Â true (¼º°øÇßÀ» °æ¿ì) ¶Ç´Â false (¹«½ÃÇÒ ¼ö ¾ø´Â °æ¿ì)¸¦ µ¹·ÁÁÖ´ÂÁö, LoginExceptionÀ» ThrowÀÇÇØ ½ÇÆи¦ ÁöÁ¤ÇÕ´Ï´Ù. ½ÇÆÐÇßÀ» °æ¿ì, LoginModule·Î ÀÎÁõÀ» Àç½ÃÇàÇϰųª À¯¿¹ Çϰųª ÇÏÁö ¸»¾Æ ÁÖ¼¼¿ä. ÀÌ·± Á¾·ùÀÇ Ã³¸®´Â ¾îÇø®ÄÉÀ̼ÇÀÌ ½Ç½ÃÇÕ´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀ¸·Î ÀÎÁõÀ» Àç½ÃÇàÇÏ´Â °æ¿ì´Â LoginModule login ¸Þ¼­µå°¡ Çѹø ´õ È£ÃâÇÕ´Ï´Ù.

2¹ø°ÀÇ ±¹¸é¿¡¼­´Â LoginContext ÀÎÁõ Àüü°¡ ¼º°øÇßÀ» °æ¿ì (°ü·ÃµÈ REQUIRED, REQUISITE, SUFFICIENT, OPTIONAL LoginModule ÀÌ ¼º°ø), LoginModule commit ¸Þ¼­µå°¡ È£ÃâµË´Ï´Ù. LoginModule commit ¸Þ¼­µå¿¡¼­´Â ºñ°ø°³·Î º¸Á¸µÈ »óŸ¦ È®ÀÎÇØ, ÀÚ½ÅÀÇ ÀÎÁõ¿¡ ¼º°øÇß´ÂÁö ¾î¶°Çß´ÂÁö¸¦ ÆÇ´ÜÇÕ´Ï´Ù. LoginContext ÀüüÀÇ ÀÎÁõ¿¡ ¼º°øÇØ, LoginModule ÀÚüÀÇ ÀÎÁõ¿¡ ¼º°øÇßÀ» °æ¿ì´Â commit ¸Þ¼­µå¿¡ ÀÇÇØ °ü·ÃµÈ Principal (ÀÎÁõµÈ ½Äº° Á¤º¸)¿Í Credential (¾Ïȣȭ۵îÀÇ ÀÎÁõ µ¥ÀÌÅÍ)ÀÌ, LoginModule ³»¿¡ ÀÖ´Â Subject¿Í °ü·ÃÁöÀ» ¼ö ÀÖ½À´Ï´Ù.

LoginContext ÀÎÁõ Àüü°¡ ½ÇÆÐÇßÀ» (°ü·ÃµÈ REQUIRED, REQUISITE, SUFFICIENT, OPTIONAL LoginModule°¡ ¼º°øÇÏÁö ¾Ê¾Ò´Ù) °æ¿ì, °¢°¢ÀÇ LoginModule¿¡ ´ëÇؼ­ abort ¸Þ¼­µå°¡ È£ÃâµË´Ï´Ù. ÀÌ °æ¿ì LoginModule µé¾î°£ º¸Á¸µÇ°í ÀÖ´ø ÀÎÁõ »óŸ¦ »èÁ¦ ¶Ç´Â ÆıâÇÕ´Ï´Ù.

Subject ·Î±×¾Æ¿ô¿¡´Â 1 ±¹¸é¸¸ÀÌ Æ÷ÇԵ˴ϴÙ. LoginContext´Â LoginModule logout ¸Þ¼­µå¸¦ È£ÃâÇÕ´Ï´Ù. LoginModule logout ¸Þ¼­µå´Â ·Î±×¾Æ¿ô 󸮸¦ ½ÇÇàÇØ, Principal ³ª Credential¸¦ Subject·Î ºÎÅÍ »èÁ¦Çϰųª ¼¼¼Ç Á¤º¸¸¦ ±â·ÏÇϰųª ÇÕ´Ï´Ù.

LoginModule ±¸ÇöÀº Àμö ¾øÀ½ÀÇ »ý¼ºÀÚ¸¦ Á¦°øÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ÀÌ°Í¿¡ ÀÇÇØ LoginModule¸¦ ·ÎµåÇϴ Ŭ·¡½º´Â LoginModule¸¦ ÀνºÅϽºÈ­ÇÒ ¼ö ÀÖ½À´Ï´Ù.

°ü·Ã Ç׸ñ:
LoginContext, Configuration

¸Þ¼­µå °³¿ä
 boolean abort ()
          ÀÎÁõ ÇÁ·Î¼¼½º¸¦ ÁßÁöÇÏ´Â ¸Þ¼­µåÀÔ´Ï´Ù (±¹¸é 2).
 boolean commit ()
          ÀÎÁõ ÇÁ·Î¼¼½º¸¦ À§Å¹ÇÏ´Â ¸Þ¼­µåÀÔ´Ï´Ù (±¹¸é 2).
 void initialize (Subject  subject, CallbackHandler  callbackHandler, Map <String, ? > sharedState, Map <String, ? > options)
          ÀÌ LoginModule¸¦ ÃʱâÈ­ÇÕ´Ï´Ù.
 boolean login ()
          Subject¸¦ ÀÎÁõÇÏ´Â ¸Þ¼­µåÀÔ´Ï´Ù (±¹¸é 1).
 boolean logout ()
          Subject¸¦ ·Î±×¾Æ¿ô ½ÃÅ°´Â ¸Þ¼­µåÀÔ´Ï´Ù.
 

¸Þ¼­µåÀÇ »ó¼¼

initialize

void initialize(Subject  subject,
                CallbackHandler  callbackHandler,
                Map <String,
? > sharedState,
                Map <String,
? > options)
ÀÌ LoginModule¸¦ ÃʱâÈ­ÇÕ´Ï´Ù.

ÀÌ LoginModule°¡ ÀνºÅϽºÈ­ µÇ°í ³ª¼­, LoginContext¿¡ ÀÇÇØ È£ÃâÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µåÀÇ ¸ñÀûÀº ÀÌ LoginModule¸¦ °ü·Ã Á¤º¸·Î ÃʱâÈ­ÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ LoginModule ÀÌ sharedState ÆĶó¹ÌÅͳª options ÆĶó¹ÌÅÍ¿¡ Æ÷ÇÔµÈ Á¤º¸¸¦ ÀνÄÇÒ ¼ö ¾ø´Â °æ¿ì, ±×·¯ÇÑ Á¤º¸´Â ¹«½ÃµË´Ï´Ù.

ÆĶó¹ÌÅÍ:
subject - ÀÎÁõ ´ë»óÀÇ Object

callbackHandler - ÃÖÁ¾ »ç¿ëÀÚ¿Í Åë½ÅÇÏ´Â (¿¹¸¦ µé¾î »ç¿ëÀÚ ¸í°ú Æнº¿öµåÀÇ ÀÔ·ÂÀ» ¿ä±¸ÇÑ´Ù) CallbackHandler

sharedState - ±¸¼ºµÈ °Í ¿ÜÀÇ LoginModule °ú °øÀ¯ÇÏ´Â »óÅÂ

options - ÀÌ LoginModule¿ëÀÇ ·Î±×ÀÎ Configuration·Î ÁöÁ¤µÈ ¿É¼Ç

login

boolean login()
              throws LoginException 
Subject¸¦ ÀÎÁõÇÏ´Â ¸Þ¼­µåÀÔ´Ï´Ù (±¹¸é 1).

ÀÌ ¸Þ¼­µåÀÇ ±¸Çö¿¡¼­´Â Subject¸¦ ÀÎÁõÇÕ´Ï´Ù. ¿¹¸¦ µé¾î »ç¿ëÀÚ ¸íÀ̳ª Æнº¿öµå¶ó°í ÇÏ´Â Subject Á¤º¸ÀÇ ÀÔ·ÂÀ» ¿ä±¸ÇÏ°í ³ª¼­, Æнº¿öµå¸¦ °ËÁõÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå¿¡¼­´Â ÀÎÁõÀÇ ½ÃÇà °á°ú¸¦, LoginModule ³»¿¡ ºñ°ø°³ »óÅ·μ­ ÀúÀåÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÀÎÁõ¿¡ ¼º°øÇßÀ» °æ¿ì´Â true. ÀÌ LoginModule°¡ ¹«½ÃµÇ´Â °æ¿ì´Â false
¿¹¿Ü:
LoginException - ÀÎÁõ¿¡ ½ÇÆÐÇßÀ» °æ¿ì

commit

boolean commit()
               throws LoginException 
ÀÎÁõ ÇÁ·Î¼¼½º¸¦ À§Å¹ÇÏ´Â ¸Þ¼­µåÀÔ´Ï´Ù (±¹¸é 2).

LoginContext ÀÎÁõ Àüü°¡ ¼º°øÇßÀ» (°ü·ÃµÈ REQUIRED, REQUISITE, SUFFICIENT, OPTIONAL LoginModule°¡ ¼º°øÇÒ) °æ¿ì¿¡ ÀÌ ¸Þ¼­µå°¡ È£ÃâµË´Ï´Ù.

ÀÌ LoginModule ÀÚüÀÇ ÀÎÁõ¿¡ ¼º°øÇßÀ» °æ¿ì´Â (login ¸Þ¼­µå·Î º¸Á¸µÈ ºñ°ø°³ »óŸ¦ ÃëµæÇØ Á¶»çÇÑ´Ù), ÀÌ ¸Þ¼­µå¿¡ ÀÇÇØ °ü·ÃµÈ Principal¿Í Credential ÀÌ, LoginModule ³»¿¡ ÀÖ´Â Subject¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌ LoginModule ÀÚüÀÇ ÀÎÁõ¿¡ ½ÇÆÐÇßÀ» °æ¿ì´Â ÀÏ´Ü º¸Á¸µÇ°í ÀÖ´ø »óŸ¦ »èÁ¦ ¶Ç´Â ÆıâÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ ¸Þ¼­µå°¡ ¼º°øÇßÀ» °æ¿ì´Â true. ÀÌ LoginModule°¡ ¹«½ÃµÇ´Â °æ¿ì´Â false
¿¹¿Ü:
LoginException - À§Å¹¿¡ ½ÇÆÐÇßÀ» °æ¿ì

abort

boolean abort()
              throws LoginException 
ÀÎÁõ ÇÁ·Î¼¼½º¸¦ ÁßÁöÇÏ´Â ¸Þ¼­µåÀÔ´Ï´Ù (±¹¸é 2).

LoginContext ÀÎÁõ Àüü°¡ ½ÇÆÐÇßÀ» (°ü·ÃµÈ REQUIRED, REQUISITE, SUFFICIENT, OPTIONAL LoginModule°¡ ¼º°øÇÏÁö ¾Ê¾Ò´Ù) °æ¿ì¿¡ ÀÌ ¸Þ¼­µå°¡ È£ÃâµË´Ï´Ù.

ÀÌ LoginModule ÀÚüÀÇ ÀÎÁõ¿¡ ¼º°øÇßÀ» °æ¿ì´Â (login ¸Þ¼­µå·Î º¸Á¸µÈ ºñ°ø°³ »óŸ¦ ÃëµæÇØ Á¶»çÇÑ´Ù), ÀÏ´Ü º¸Á¸µÇ°í ÀÖ´ø »óÅ°¡ ÀÌ ¸Þ¼­µå¿¡ ÀÇÇØ Å¬¸° ¾÷ µË´Ï´Ù.

¹Ýȯ°ª:
ÀÌ ¸Þ¼­µå°¡ ¼º°øÇßÀ» °æ¿ì´Â true. ÀÌ LoginModule°¡ ¹«½ÃµÇ´Â °æ¿ì´Â false
¿¹¿Ü:
LoginException - ÁßÁö¿¡ ½ÇÆÐÇßÀ» °æ¿ì

logout

boolean logout()
               throws LoginException 
Subject¸¦ ·Î±×¾Æ¿ô ½ÃÅ°´Â ¸Þ¼­µåÀÔ´Ï´Ù.

ÀÌ ¸Þ¼­µåÀÇ ±¸Çö¿¡¼­´Â Subject Principal¿Í Credential¸¦ »èÁ¦ ¶Ç´Â ÆıâÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ ¸Þ¼­µå°¡ ¼º°øÇßÀ» °æ¿ì´Â true. ÀÌ LoginModule°¡ ¹«½ÃµÇ´Â °æ¿ì´Â false
¿¹¿Ü:
LoginException - ·Î±×¾Æ¿ô¿¡ ½ÇÆÐÇßÀ» °æ¿ì

JavaTM 2 Platform
Standard Ed. 5.0

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