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 ¸¦ ½½·Î¿ì ÇÏ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. 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 ¸¦ ½½·Î¿ì ÇØ ½ÇÆÐ¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ½ÇÆÐÇßÀ» °æ¿ì,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 ÀÇ ½ÇÀåÀº, Àμö ¾øÀ½ÀÇ constructor¡¡ ¡¡ À» Á¦°øÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. À̰Ϳ¡ ÀÇÇØ,LoginModule ¸¦ ·ÎµåÇϴ Ŭ·¡½º´Â,LoginModule ¸¦ ÀνºÅϽºÈ­ÇÒ ¼ö ÀÖ½À´Ï´Ù.

°ü·Ã Ç׸ñ:
LoginContext , Configuration

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

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

initialize

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

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

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

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

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

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

login

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

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

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

commit

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

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

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

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

abort

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

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

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

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

logout

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

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

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


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