|
|||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||
°³¿ä: ³»ºÎ Ŭ·¡½º | Çʵå | constructor¡¡ ¡¡ | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor¡¡ ¡¡ | ¸Þ¼Òµå |
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 ¸¦ ·Î±×¾Æ¿ô ½ÃŰ´Â ¸Þ¼ÒµåÀÔ´Ï´Ù.
|
¸Þ¼ÒµåÀÇ »ó¼¼ |
public void initialize(Subject subject, CallbackHandler callbackHandler, java.util.Map sharedState, java.util.Map options)
ÀÌ LoginModule
°¡ ÀνºÅϽºÈ µÇ°í ³ª¼,LoginContext
¿¡ ÀÇÇØ ºÒ·Á °©´Ï´Ù. ÀÌ ¸Þ¼ÒµåÀÇ ¸ñÀûÀº, ÀÌ LoginModule
¸¦ °ü·Ã Á¤º¸·Î ÃʱâÈÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ LoginModule
ÀÌ sharedState
ÆÄ¶ó¹ÌÅͳª options
ÆÄ¶ó¹ÌÅÍ¿¡ °Ý³³µÈ Á¤º¸¸¦ ÀνÄÇÒ ¼ö ¾ø´Â °æ¿ì, ±×·¯ÇÑ Á¤º¸´Â ¹«½ÃµË´Ï´Ù.
subject
- ÀÎÁõ ´ë»óÀÇ Object
callbackHandler
- ÃÖÁ¾ »ç¿ëÀÚ¿Í Åë½ÅÇÏ´Â (¿¹¸¦ µé¾î À¯Àú¸í°ú ÆÐ½º¿öµåÀÇ ÀÔ·ÂÀ» ¿ä±¸ÇÑ´Ù) CallbackHandler
sharedState
- ±¸¼ºµÈ °Í ¿ÜÀÇ LoginModule ¿Í °øÀ¯ÇÏ´Â »óÅÂ
options
- ÀÌ LoginModule
¿ëÀÇ ·Î±×ÀÎ Configuration
·Î ÁöÁ¤µÈ ¿É¼Çpublic boolean login() throws LoginException
Subject
¸¦ ÀÎÁõÇÏ´Â ¸Þ¼ÒµåÀÔ´Ï´Ù (±¹¸é 1).
ÀÌ ¸Þ¼ÒµåÀÇ ½ÇÀå¿¡¼´Â,Subject
¸¦ ÀÎÁõÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, À¯Àú¸íÀ̳ª ÆÐ½º¿öµå¶ó°í ÇÏ´Â Subject
ÀÇ Á¤º¸ÀÇ ÀÔ·ÂÀ» ¿ä±¸ÇÏ°í ³ª¼, ÆÐ½º¿öµå¸¦ °ËÁõÇÕ´Ï´Ù. ÀÌ ¸Þ¼Òµå¿¡¼´Â ÀÎÁõÀÇ ½ÃÇà °á°ú¸¦, LoginModule ³»¿¡ ºñ°ø°³ »óÅ·μ º¸Á¸ÇÕ´Ï´Ù.
LoginModule
°¡ ¹«½ÃµÇ´Â °æ¿ì´Â falseLoginException
- ÀÎÁõ¿¡ ½ÇÆÐÇßÀ» °æ¿ìpublic boolean commit() throws LoginException
LoginContext ÀÇ ÀÎÁõ Àüü°¡ ¼º°øÇßÀ» (°ü·ÃÇÏ´Â REQUIRED, REQUISITE, SUFFICIENT, OPTIONAL ÀÇ LoginModule °¡ ¼º°øÇÒ) °æ¿ì¿¡, ÀÌ ¸Þ¼Òµå°¡ ºÒ·Á °©´Ï´Ù.
ÀÌ LoginModule ÀÚüÀÇ ÀÎÁõ¿¡ ¼º°øÇßÀ» °æ¿ì´Â (login
¸Þ¼Òµå·Î º¸Á¸µÈ ºñ°ø°³ »óŸ¦ ÃëµæÇØ Á¶»çÇÑ´Ù), ÀÌ ¸Þ¼Òµå¿¡ ÀÇÇØ °ü·ÃÇÏ´Â Principal ¿Í Credential ÀÌ,LoginModule
³»¿¡ ÀÖ´Â Subject
¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌ LoginModule ÀÚüÀÇ ÀÎÁõ¿¡ ½ÇÆÐÇßÀ» °æ¿ì´Â, ÀÏ´Ü º¸Á¸µÇ°í ÀÖ´ø »óŸ¦ »èÁ¦ ¶Ç´Â ÆÄ±âÇÕ´Ï´Ù.
LoginModule
°¡ ¹«½ÃµÇ´Â °æ¿ì´Â falseLoginException
- À§Å¹¿¡ ½ÇÆÐÇßÀ» °æ¿ìpublic boolean abort() throws LoginException
LoginContext ÀÇ ÀÎÁõ Àüü°¡ ½ÇÆÐÇßÀ» (°ü·ÃÇÏ´Â REQUIRED, REQUISITE, SUFFICIENT, OPTIONAL ÀÇ LoginModule °¡ ¼º°øÇÏÁö ¾Ê¾Ò´Ù) °æ¿ì¿¡, ÀÌ ¸Þ¼Òµå°¡ ºÒ·Á °©´Ï´Ù.
ÀÌ LoginModule ÀÚüÀÇ ÀÎÁõ¿¡ ¼º°øÇßÀ» °æ¿ì´Â (login
¸Þ¼Òµå·Î º¸Á¸µÈ ºñ°ø°³ »óŸ¦ ÃëµæÇØ Á¶»çÇÑ´Ù), ÀÏ´Ü º¸Á¸µÇ°í ÀÖ´ø »óŰ¡ ÀÌ ¸Þ¼Òµå¿¡ ÀÇÇØ Ŭ¸° ¾÷ µË´Ï´Ù.
LoginModule
°¡ ¹«½ÃµÇ´Â °æ¿ì´Â falseLoginException
- ÁßÁö¿¡ ½ÇÆÐÇßÀ» °æ¿ìpublic boolean logout() throws LoginException
Subject
¸¦ ·Î±×¾Æ¿ô ½ÃŰ´Â ¸Þ¼ÒµåÀÔ´Ï´Ù.
ÀÌ ¸Þ¼ÒµåÀÇ ½ÇÀå¿¡¼´Â, Subject ÀÇ Principal ¿Í Credential ¸¦ »èÁ¦ ¶Ç´Â ÆÄ±âÇÕ´Ï´Ù.
LoginModule
°¡ ¹«½ÃµÇ´Â °æ¿ì´Â falseLoginException
- ·Î±×¾Æ¿ô¿¡ ½ÇÆÐÇßÀ» °æ¿ì
|
|||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||
°³¿ä: ³»ºÎ Ŭ·¡½º | Çʵå | constructor¡¡ ¡¡ | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor¡¡ ¡¡ | ¸Þ¼Òµå |