¸ñÂ÷
Zend_Auth (Àº)´Â, ÀÎÁõÀ» À§ÇÑ API (À»)¸¦ Á¦°øÇÕ´Ï´Ù. ¶Ç, ÀϹÝÀûÀÎ »ç¿ë¿¹¿¡ ´ëÀÀÇÏ´Â ±¸»ó ÀÎÁõ ¾î´ðÅ͵µ ÁغñÇØ ÀÖ½À´Ï´Ù.
Zend_Auth ÇÏÁö¸¸ Ãë±ÞÇÏ´Â °ÍÀº ¾îµð±îÁö³ª ÀÎÁõ (authentication) (À̾î)¿©,½ÂÀÎ (authorization) (ÀÌ)°¡ ¾Æ´Õ´Ï´Ù. ÀÎÁõ (authentication) (¿Í)°ú´Â Áï, ¾î´À ¿£Æ¼Æ¼°¡ ´©±¸ÀÎÁö¸¦ ³ªÅ¸³½´Ù (½Äº°ÇÑ´Ù) ÀÏÀÔ´Ï´Ù.À̰ÍÀ», ÇϵîÀÇ Á¶°Ç¿¡ ÀǰÅÇØ ½Ç½ÃÇÕ´Ï´Ù. ½ÂÀÎ (authorization) (ÀÌ)¶õ, ¾î´À ¿£Æ¼Æ¼°¡ ´Ù¸¥ ¿£Æ¼Æ¼¿¡ ´ëÇØ¼ ¾×¼¼½º Çϰųª ¾î¶°ÇÑ Á¶ÀÛÀ» Çϰųª ÇÏ´Â ±ÇÇÑÀÌ ÀÖÀ»Áö¸¦ ÆÇÁ¤Çϴ ó¸®ÀÔ´Ï´Ù. À̰ÍÀº Zend_Auth ÀÇ ´ë»ó¿Ü°¡ µË´Ï´Ù. Zend Framework ¿¡ ÀÖ¾î¼ÀÇ ÀÎÁõÀ̳ª ¾×¼¼½º Á¦¾îÀÇ »ó¼¼ÇÑ °Í¿¡ ´ëÇÏ¿©´Â, Zend_Acl (À»)¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ.
![]() |
ÁÖÀÇ |
---|---|
|
Zend_Auth ¾î´ðÅÍÀÇ »ç¿ë ¸ñÀûÀº, LDAP (ÀÌ)³ª RDBMS ȤÀº ÆÄÀÏ (¿Í)°ú °°Àº ƯÁ¤ÀÇ ÇüÅÂÀÇ ÀÎÁõ ¼ºñ½º¿¡ ´ëÇÑ ÀÎÁõÀ» ½Ç½ÃÇÏ´Â °ÍÀÔ´Ï´Ù. ¾î´ðÅÍ¿¡ ÀÇÇØ¼ ±× ¿É¼ÇÀ̳ª °Åµ¿Àº Å©°Ô ´Ù¸£°ÚÁö¸¸, ¸î°³ÀÇ ±âº» 󸮴Â, ¸ðµç ÀÎÁõ ¾î´ðÅÍ·Î °øÅëÀÌ µË´Ï´Ù. ¿¹¸¦ µé¾î ÀÎÁõ Á¶°Ç (À̸¥¹Ù ID) (À»)¸¦ ¹Þ¾Æ, ÀÎÁõ ¼ºñ½º¿¡ ´ëÇÑ ¹®ÀǸ¦ ½Ç½ÃÇØ, °á°ú¸¦ µ¹·ÁÁشٰí Çϴ ó¸®´Â, ¸ðµç Zend_Auth ¾î´ðÅÍ·Î °øÅëÀÔ´Ï´Ù.
°¢ Zend_Auth ¾î´ðÅÍ Å¬·¡½º´Â,Zend_Auth_Adapter_Interface
(À»)¸¦ ½ÇÀåÇϰí ÀÖ½À´Ï´Ù.ÀÌ ÀÎÅÍÆäÀ̽º·Î Á¤Àǵǰí ÀÖ´Â ¸Þ¼Òµå°¡
authenticate()
±×¸®°í, ¾î´ðÅÍ Å¬·¡½º´Â
ÀÎÁõ Äõ¸®¸¦ ½ÇÇàÇϱâ À§Çؼ À̰ÍÀ» ½ÇÀåÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
°¢ ¾î´ðÅÍ Å¬·¡½º´Â,authenticate()
(À»)¸¦ ÄÝ Çϱâ Àü¿¡ Áغñ¸¦ ³¡¸¶ÃÄ µÑ Çʿ䰡 ÀÖ½À´Ï´Ù.
Áï, ¾î´ðÅÍÃø¿¡¼ ÁغñÇØ¾ß ÇÏ´Â ±â´ÉÀ¸·Î¼´Â
ÀÎÁõ Á¶°Ç (À¯Àú¸í ¹× ÆÐ½º¿öµå µî) ÀÇ ÃëµæÀ̳ª
¾î´ðÅÍ °íÀ¯ÀÇ ¿É¼ÇÀÇ ¼³Á¤
(µ¥ÀÌŸº£À̽ºÀÇ Å×À̺íÀ» »ç¿ëÇÏ´Â ¾î´ðÅͶó¸é µ¥ÀÌŸº£À̽º¿¡ÀÇ Á¢¼Ó ¼³Á¤ µî)
ÇÏÁö¸¸ ÀÖ´Â °ÍÀÔ´Ï´Ù.
ÀÌÇÏ¿¡ ÁÖ´Â °ÍÀº ÀÎÁõ ¾î´ðÅÍÀÇ »ùÇ÷Î, À̰ÍÀº À¯Àú¸íÀ¸·Î ÆÐ½º¿öµå¸¦ ¹Þ¾ÆµéÀ̰í ÀÎÁõÀ» ½Ç½ÃÇÕ´Ï´Ù. ±× ¿ÜÀÇ »ó¼¼, ¿¹¸¦ µé¸é ÀÎÁõ ¼ºñ½º¿¡ÀÇ ½ÇÁ¦ÀÇ ¹®ÀÇ µîÀº, ¿¹¸¦ °£°áÇÏ°Ô Çϱâ À§ÇÑ(ÇØ) »ý·« Çϰí ÀÖ½À´Ï´Ù.
<?php
require_once 'Zend/Auth/Adapter/Interface.php';
class MyAuthAdapter implements Zend_Auth_Adapter_Interface
{
/**
* ÀÎÁõ¿ëÀÇ À¯Àú¸í°ú ÆÐ½º¿öµå¸¦ ¼³Á¤ÇÕ´Ï´Ù
*
* @return void
*/
public function __construct($username, $password)
{
// ...
}
/**
* ÀÎÁõÀ» ½ÃµµÇÕ´Ï´Ù
*
* @throws Zend_Auth_Adapter_Exception ÇÏÁö¸¸, ÀÎÁõ 󸮸¦ ÇÒ ¼ö ¾ø¾ú´ø °æ¿ì¿¡ ¹ß»ýÇÕ´Ï´Ù
* @return Zend_Auth_Result
*/
public function authenticate()
{
// ...
}
}
docblock ÄÚ¸àÆ®·Î ¼³¸íÇϰí ÀÖ´Â ´ë·Î,
authenticate()
ÇÏ
Zend_Auth_Result
(ȤÀº Zend_Auth_Result
ÀÇ »ó¼Ó Ŭ·¡½º)
ÀÇ ÀνºÅϽº¸¦ µ¹·ÁÁÙ Çʿ䰡 ÀÖ½À´Ï´Ù.¾î¶°ÇÑ ÀÌÀ¯·Î ÀÎÁõÀÇ ¹®ÀǸ¦ ÇÒ ¼ö ¾ø¾ú´ø °æ¿ì´Â,
authenticate()
ÇÏ
Zend_Auth_Adapter_Exception
(À¸)·ÎºÎÅÍ ÆÄ»ýÇÑ ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.
Zend_Auth ¾î´ðÅÍ´Â,authenticate()
ÀÇ °á°ú·Î¼
Zend_Auth_Result
ÀÇ ÀνºÅϽº¸¦ µ¹·ÁÁÝ´Ï´Ù.
À̰Ϳ¡ ÀÇÇØ, ÀÎÁõÀ» ½ÃµµÇÑ °á°ú¸¦ ³ªÅ¸³À´Ï´Ù.¾î´ðÅÍÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇßÀ» ¶§¿¡
Zend_Auth_Result
¿ÀºêÁ§Æ®°¡ ÀÛ¼ºµÇ¾î
ÀÌÇÏÀÇ 4 °³ÀÇ ¸Þ¼Òµå·Î Zend_Auth ¾î´ðÅÍÀÇ °á°ú¿¡ ´ëÇÑ °øÅëÀÇ Á¶ÀÛÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù.
isValid()
- ±× °á°ú°¡
ÀÎÁõÀÇ ¼º°øÀ» ³ªÅ¸³»°í ÀÖ´Â °æ¿ì¿¡°Ô¸¸ true (À»)¸¦ µ¹·ÁÁÝ´Ï´Ù.
getCode()
- Zend_Auth_Result
ÀÇ Á¤¼ö¸¦ µ¹·ÁÁÝ´Ï´Ù.
À̰ÍÀº, ÀÎÁõ¿¡ ½ÇÆÐÇß´ÂÁö ¼º°øÇß´ÂÁö¸¦ ³ªÅ¸³»´Â °ÍÀÔ´Ï´Ù.
À̰ÍÀ» »ç¿ëÇÏ´Â Àå¸éÀ¸·Î¼´Â, ÀÎÁõÀÇ °á°ú¸¦ ¸î°³ÀÇ °á°ú·ÎºÎÅÍ ±¸º°ÇÏ°í ½ÍÀº °æ¿ìµîÀÌ ÀÖ½À´Ï´Ù.
À̰Ϳ¡ ÀÇÇØ, ¿¹¸¦ µé¾î ÀÎÁõ °á°ú¿¡ ´ëÇØ¼, º¸´Ù »ó¼¼ÇÑ Á¤º¸¸¦ °ü¸®ÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.
´Ù¸¥ »ç¿ë¹ýÀ¸·Î¼´Â, À¯Àú¿¡°Ô ³ªÅ¸³»´Â ¸Þ¼¼Áö¸¦ º¯°æÇØ, º¸´Ù »ó¼¼ÇÑ Á¤º¸¸¦ ÀüÇØÁöµµ·Ï(µíÀÌ) ÇÏ´Â °ÍµîÀÌ ÀÖ½À´Ï´Ù.
±×·¯³ª, ÀϹÝÀûÀÎ ¡¸ÀÎÁõ ½ÇÆÐ¡¹¸Þ¼¼Áö´Â ¾Æ´Ï°í
À¯Àú¿¡ ´ëÇØ¼ »ó¼¼ÇÑ Á¤º¸¸¦ ³ªÅ¸³¾ ¶§ , ±× ¸®½ºÅ©¸¦ ¾Ë¾Æ µÎ¾î¾ß ÇÕ´Ï´Ù.
»ó¼¼ÇÑ Á¤º¸´Â, ÀÌÇÏÀÇ ÁÖÀǸ¦ ÂüÁ¶ÇØ ÁֽʽÿÀ.
getIdentity()
- ÀÎÁõÀ» ½ÃµµÇß´Ù ID Á¤º¸¸¦ µ¹·ÁÁÝ´Ï´Ù.
getMessages()
- ÀÎÁõ¿¡ ½ÇÆÐÇßÀ» °æ¿ì¿¡,
°ü·ÃÇÏ´Â ¸Þ¼¼ÁöÀÇ ¹è¿À» µ¹·ÁÁÝ´Ï´Ù.
ÀÎÁõÀÇ °á°ú¿¡ ÀÇÇØ¼ 󸮸¦ ºÐ±â½ÃÄÑ,º¸´Ù °áÁ¤ÇØ Àڱ׸¶ÇÑ Ã³¸®¸¦ ½Ç½ÃÇÏ°í ½ÍÀº °Íµµ ÀÖ°ÚÁö¿ä. À¯¿ëÇÑ Ã³¸®·Î¼´Â, ¿¹¸¦ µé¾î À߸øµÈ ÆÐ½º¿öµå¸¦ ¹Ýº¹ÇØ ÀÔ·ÂÇÑ ¾îÄ«¿îÆ®¸¦ Àá±×°Å³ª Á¸ÀçÇÏÁö ¾Ê´Â´Ù ID (À»)¸¦ ¸î¹øÀ̳ª ÀÔ·ÂÇß´Ù IP ÁÖ¼Ò¿¡ Ç¥¸¦ ºÎ·Ï, À¯Àú¿¡ ´ëÇØ¼ º¸´Ù ¾Ë±â ½¬¿î ¸Þ¼¼Áö¸¦ µ¹·ÁÁְųª¶ó°í Çß´ø ÀûÀÌ ÀÖ½À´Ï´Ù. ´ÙÀ½ÀÇ °á°ú Äڵ尡 »ç¿ë °¡´ÉÇÕ´Ï´Ù.
Zend_Auth_Result::SUCCESS
Zend_Auth_Result::FAILURE
Zend_Auth_Result::FAILURE_IDENTITY_NOT_FOUND
Zend_Auth_Result::FAILURE_IDENTITY_AMBIGUOUS
Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID
Zend_Auth_Result::FAILURE_UNCATEGORIZED
´ÙÀ½ÀÇ ¿¹´Â, °á°ú Äڵ带 ó¸®ÇÏ´Â ¹æ¹ýÀ» ³ªÅ¸³»´Â °ÍÀÔ´Ï´Ù.
<?php
// AuthController / loginAction ¾ÈÀÇ Ã³¸®
$result = $this->_auth->authenticate($adapter);
switch ($result->getCode()) {
case Zend_Auth_Result::FAILURE_IDENTITY_NOT_FOUND:
/** ID ÇÏÁö¸¸ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ìÀÇ Ã³¸® **/
break;
case Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID:
/** ÀÎÁõ¿¡ ½ÇÆÐÇßÀ» °æ¿ìÀÇ Ã³¸® **/
break;
case Zend_Auth_Result::SUCCESS:
/** ÀÎÁõ¿¡ ¼º°øÇßÀ» °æ¿ìÀÇ Ã³¸® **/
break;
default:
/** ±× ¿ÜÀÇ ¿øÀÎÀ¸·Î ½ÇÆÐÇßÀ» °æ¿ìÀÇ Ã³¸® **/
break;
}
ÀÎÁõ Á¤º¸ (ÆÐ½º¿öµå µî) (À»)¸¦ Æ÷ÇÔÇÑ ÀÎÁõÀ» ¿ä±¸ÇÏ´Â °ÍÀº Æí¸®ÇÑ °ÍÀÔ´Ï´Ù¸¸, ¸®Äù½ºÆ® ¸¶´Ù Çϳª Çϳª ÀÎÁõ Á¤º¸¸¦ ²ø°í ´Ù´Ï´Â °ÍÀÌ ¾Æ´Ï¶ó, ÀÎÁõ ³¡³ ID (À»)¸¦ °è¼Ó º¸°ü À¯ÁöÇÏ´Â °Íµµ Áß¿äÇÕ´Ï´Ù.
HTTP (Àº)´Â ½ºÅ×ÀÌÆ®·¹½ºÀÎ ÇÁ·ÎÅäÄÝÀÔ´Ï´Ù.±×·¯³ª, ÄíŰ³ª ¼¼¼ÇÀ̶ó°í ÇÏ´Â ±â¼ú¿¡ ÀÇÇØ¼, ¼¹ö »çÀ̵åÀÇ À¥ ¾îÇø®ÄÉÀ̼ǿ¡¼µµ º¹¼ö ¸®Äù½ºÆ®°£¿¡ ½ºÅ×ÀÌÆ® (»óÅÂ) (À»)¸¦ º¸°ü À¯ÁöÇØ °è¼ÓµÇ°Ô µÇ¾ú½À´Ï´Ù.
µðÆúÆ®¿¡¼´Â,Zend_Auth
(Àº)´Â,
ÀÎÁõ¿¡ ¼º°øÇßÀ» ¶§ÀÇ ID Á¤º¸¸¦ PHP ÀÇ ¼¼¼ÇÀ» »ç¿ëÇØ º¸Á¸ÇÕ´Ï´Ù.
ÀÎÁõ¿¡ ¼º°øÇϸé,Zend_Auth::authenticate()
(Àº)´Â ÀÎÁõ °á°ú¸¦ Áö¼Ó ½ºÅ丮Áö¿¡ º¸Á¸ÇÕ´Ï´Ù.¾Æ¹«°Íµµ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é,
Zend_Auth
ÇÏÁö¸¸ »ç¿ëÇÏ´Â ½ºÅ丮Áö Ŭ·¡½º´Â
Zend_Auth_Storage_Session
µË´Ï´Ù.À̰ÍÀº
Zend_Session (À»)¸¦ »ç¿ëÇϰí ÀÖ½À´Ï´Ù.
µ¶ÀÚÀûÀΠŬ·¡½º¸¦ »ç¿ëÇÏ·Á¸é ,Zend_Auth_Storage_Interface
(À»)¸¦ ½ÇÀåÇÑ Å¬·¡½ºÀÇ ¿ÀºêÁ§Æ®¸¦ Zend_Auth::setStorage()
±×¸®°í ¼³Á¤ÇÕ´Ï´Ù.
![]() |
ÁÖÀÇ |
---|---|
¸¸¾à ID ÇÏÁö¸¸ ÀÚµ¿ÀûÀ¸·Î Áö¼Ó ½ºÅ丮Áö¿¡ º¸Á¸µÇ´Â °ÍÀÌ ¸¶À½¿¡ µéÁö ¾Ê´Â °æ¿ì´Â,
|
·Ê 3.1. ¼¼¼Ç À̸§ °ø°£ÀÇ º¯°æ
Zend_Auth_Storage_Session
(Àº)´Â, ¼¼¼Ç À̸§ °ø°£À¸·Î¼
'Zend_Auth'
(À»)¸¦ »ç¿ëÇÕ´Ï´Ù.À̰ÍÀ» º¯°æÇÏ·Á¸é , ´Ù¸¥ °ªÀ»
Zend_Auth_Storage_Session
ÀÇ constructor¡¡ ¡¡ À¸·Î ÁöÁ¤ÇÕ´Ï´Ù.
ÀÌ °ªÀÌ, ³»ºÎ¿¡¼ Zend_Session_Namespace
ÀÇ constructor¡¡ ¡¡ ¿¡°Ô °Ç³×Áý´Ï´Ù.À̰ÍÀº ÀÎÁõÀ» ½ÃµµÇϱâ Àü¿¡ ½Ç½ÃÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
¿Ö³ÄÇϸé,Zend_Auth::authenticate()
ÇÏ ID (À»)¸¦ ÀÚµ¿ÀûÀ¸·Î º¸Á¸Çϱ⠶§¹®ÀÔ´Ï´Ù.
<?php
// Zend_Auth ÀÇ ½Ì±Û Åæ ÀνºÅϽº¿¡ÀÇ ÂüÁ¶¸¦ º¸Á¸ÇÕ´Ï´Ù
require_once 'Zend/Auth.php';
$auth = Zend_Auth::getInstance();
// 'Zend_Auth' ÀÇ °ÍÀÎÁö ºñ±³Àû 'someNamespace' (À»)¸¦ »ç¿ëÇÕ´Ï´Ù
require_once 'Zend/Auth/Storage/Session.php';
$auth->setStorage(new Zend_Auth_Storage_Session('someNamespace'));
/**
* @todo ÀÎÁõ ¾î´ðÅÍ $authAdapter (À»)¸¦ ¼³Á¤ÇÕ´Ï´Ù
*/
// ÀÎÁõ°ú °á°úÀÇ º¸Á¸, ±×¸®°í ¼º°ø½Ã¿¡ ID (À»)¸¦ Áö¼Ó½Ãŵ´Ï´Ù
$result = $auth->authenticate($authAdapter);
Zend_Auth_Storage_Session
(¿Í)°ú´Â ´Ù¸¥ Çü½Ä¿¡¼,
ID (À»)¸¦ Áö¼Ó½ÃŰ°í ½Í¾îÁö±âµµ ÇϰÚÁö¿ä.±×·¯ÇÑ °æ¿ì´Â,
Zend_Auth_Storage_Interface
(À»)¸¦ ½ÇÀåÇÑ Å¬·¡½ºÀÇ ÀνºÅϽº¸¦
Zend_Auth::setStorage()
±×¸®°í ¼³Á¤ÇÕ´Ï´Ù.
·Ê 3.2. µ¶ÀÚÀûÀÎ ½ºÅ丮Áö Ŭ·¡½ºÀÇ »ç¿ë¹ý
ID (À»)¸¦ Áö¼Ó½ÃŰ´Â ½ºÅ丮Áö Ŭ·¡½º¸¦
Zend_Auth_Storage_Session
´ë½Å¿¡ »ç¿ëÇÏ·Á¸é ,
Zend_Auth_Storage_Interface
(À»)¸¦ ½ÇÀåÇÕ´Ï´Ù.
<?php
require_once 'Zend/Auth/Storage/Interface.php';
class MyStorage implements Zend_Auth_Storage_Interface
{
/**
* ½ºÅ丮Áö°¡ ÇÏ´ÃÀÇ °æ¿ì¿¡°Ô¸¸ true (À»)¸¦ µ¹·ÁÁØ´Ù
*
* @throws Zend_Auth_Storage_Exception ÇÏ´ÃÀÎÁö ¾î¶²Áö ÆÇ´ÜÇÒ ¼ö ¾øÀ» ¶§
* @return boolean
*/
public function isEmpty()
{
/**
* @todo ½ÇÀåÀÌ ÇÊ¿ä
*/
}
/**
* ½ºÅ丮ÁöÀÇ ³»¿ëÀ» µ¹·ÁÁØ´Ù
*
* ½ºÅ丮Áö°¡ ÇÏ´ÃÀÇ °æ¿ì¿¡ °Åµ¿Àº ¹ÌÁ¤µµ¸®
*
* @throws Zend_Auth_Storage_Exception ½ºÅ丮ÁöÀÇ ³»¿ëÀ» ÀоîµéÀÏ ¼ö ¾ø´Â °æ¿ì
* @return mixed
*/
public function read()
{
/**
* @todo ½ÇÀåÀÌ ÇÊ¿ä
*/
}
/**
* $contents (À»)¸¦ ½ºÅ丮Áö¿¡ ¾´´Ù
*
* @param mixed $contents
* @throws Zend_Auth_Storage_Exception $contents (À»)¸¦ ½ºÅ丮Áö¿¡ ¾µ ¼ö ¾ø´Â °æ¿ì
* @return void
*/
public function write($contents)
{
/**
* @todo ½ÇÀåÀÌ ÇÊ¿ä
*/
}
/**
* ½ºÅ丮ÁöÀÇ ³»¿ëÀ» ¼Ò°ÅÇÑ´Ù
*
* @throws Zend_Auth_Storage_Exception ½ºÅ丮ÁöÀÇ ³»¿ëÀ» ¼Ò°ÅÇÒ ¼ö ¾ø´Â °æ¿ì
* @return void
*/
public function clear()
{
/**
* @todo ½ÇÀåÀÌ ÇÊ¿ä
*/
}
}
ÀÌ ½ºÅ丮Áö Ŭ·¡½º¸¦ »ç¿ëÇÏ·Á¸é , ÀÎÁõ Äõ¸®ÀÇ Àü¿¡
Zend_Auth::setStorage()
(À»)¸¦ ½ÇÇàÇÕ´Ï´Ù.
<?php
// Zend_Auth ¿¡, µ¶ÀÚÀûÀÎ ½ºÅ丮Áö Ŭ·¡½º¸¦ »ç¿ëÇϵµ·Ï Áö½ÃÇÕ´Ï´Ù
Zend_Auth::getInstance()->setStorage(new MyStorage());
/**
* @todo ÀÎÁõ ¾î´ðÅÍ $authAdapter (À»)¸¦ ¼³Á¤ÇÕ´Ï´Ù
*/
// ÀÎÁõ°ú °á°úÀÇ º¸Á¸, ±×¸®°í ¼º°ø½Ã¿¡ ID (À»)¸¦ Áö¼Ó½Ãŵ´Ï´Ù
$result = Zend_Auth::getInstance()->authenticate($authAdapter);
Zend_Auth ÀÇ »ç¿ë¹ý¿¡´Â, ´ÙÀ½ÀÇ 2Åë°¡ ÀÖ½À´Ï´Ù.
°£Á¢ÀûÀ¸·Î Zend_Auth::authenticate()
°æÀ¯·Î »ç¿ëÇÑ´Ù
Á÷Á¢, ¾î´ðÅÍÀÇ authenticate()
¸Þ¼Òµå¸¦ »ç¿ëÇÑ´Ù
´ÙÀ½ÀÇ ¿¹´Â,Zend_Auth ¾î´ðÅ͸¦ °£Á¢ÀûÀ¸·Î
Zend_Auth
Ŭ·¡½º·ÎºÎÅÍ »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù.
<?php
// Zend_Auth ÀÇ ½Ì±Û Åæ ÀνºÅϽº¿¡ÀÇ ÂüÁ¶¸¦ ÃëµæÇÕ´Ï´Ù
require_once 'Zend/Auth.php';
$auth = Zend_Auth::getInstance();
// ÀÎÁõ ¾î´ðÅ͸¦ ¼³Á¤ÇÕ´Ï´Ù
$authAdapter = new MyAuthAdapter($username, $password);
// ÀÎÁõÀ» ½ÃµµÇØ ±× °á°ú¸¦ ÃëµæÇÕ´Ï´Ù
$result = $auth->authenticate($authAdapter);
if (!$result->isValid()) {
// ÀÎÁõ¿¡ ½ÇÆÐÇßÀ¸¹Ç·Î, ¿øÀÎÀ» Ç¥½ÃÇÕ´Ï´Ù
foreach ($result->getMessages() as $message) {
echo "$messagen";
}
} else {
// ÀÎÁõ¿¡ ¼º°øÇß½À´Ï´Ù.ID ($username) ÇÏÁö¸¸ ¼¼¼Ç¿¡ º¸Á¸µË´Ï´Ù
// $result->getIdentity() === $auth->getIdentity()
// $result->getIdentity() === $username
}
À§ÀÇ ¿¹¿¡ ´ëÇØ ¸®Äù½ºÆ®³»¿¡¼ ÀÎÁõÀ» Çϸé, ÀÎÁõ¿¡ ¼º°øÇßÀ» ¶§¿¡ ±× ID (À»)¸¦ ÃëµæÇÏ´Â °ÍÀº °£´ÜÇÑ ÀÏÀÔ´Ï´Ù.
<?php
$auth = Zend_Auth::getInstance();
if ($auth->hasIdentity()) {
// ID ÇÏÁö¸¸ ÀÖÀ¸¹Ç·Î ±×°ÍÀ» ÃëµæÇÕ´Ï´Ù
$identity = $auth->getIdentity();
}
¿µ¼Ó ½ºÅ丮Áö·ÎºÎÅÍ ÀÎÁõ ID (À»)¸¦ »èÁ¦ÇÏ·Á¸é , ´Ü¼øÇϰÔ
clearIdentity()
¸Þ¼Òµå¸¦ »ç¿ëÇÕ´Ï´Ù.
À̰ÍÀº, ¾îÇø®ÄÉÀ̼ÇÀÇ "·Î±×¾Æ¿ô" 󸮸¦ ½ÇÀåÇϱâ À§ÇÑÀÇ °ÍÀÔ´Ï´Ù.
<?php
Zend_Auth::getInstance()->clearIdentity();
ÀÚµ¿ÀûÀ¸·Î ¿µ¼Ó ½ºÅ丮Áö°¡ ÀÌ¿ëµÇ´Â °ÍÀÌ ¸ÀÀÌ ¾ø´Â °æ¿ìµµ ÀÖ°ÚÁö¿ä.
±×·± °æ¿ì´Â,Zend_Auth
Ŭ·¡½º¸¦ ¿ìȸµµ·Î ÇØ
¾î´ðÅÍ Å¬·¡½º¸¦ Á÷Á¢ »ç¿ëÇÕ´Ï´Ù.
¾î´ðÅÍ Å¬·¡½º¸¦ Á÷Á¢ »ç¿ëÇÑ´Ù´Â °ÍÀº, ¾î´ðÅÍ ¿ÀºêÁ§Æ®ÀÇ ¼³Á¤°ú Áغñ¸¦ ½Ç½ÃÇØ,
±× authenticate()
¸Þ¼Òµå¸¦ ÄÝ ÇÏ´Â °ÍÀÔ´Ï´Ù.
¾î´ðÅÍ °íÀ¯ÀÇ »ó¼¼ Á¤º¸¿¡ ´ëÇØ¼´Â, °¢ ¾î´ðÅÍÀÇ ¹®¼·Î ¼³¸íÇÕ´Ï´Ù.
ÀÌÇÏÀÇ ¿¹´Â,MyAuthAdapter
(À»)¸¦ Á÷Á¢ »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù.
<?php
// ÀÎÁõ ¾î´ðÅ͸¦ ¼³Á¤ÇÕ´Ï´Ù
$authAdapter = new MyAuthAdapter($username, $password);
// ÀÎÁõÀ» ½ÃµµÇØ ±× °á°ú¸¦ ÃëµæÇÕ´Ï´Ù
$result = $authAdapter->authenticate();
if (!$result->isValid()) {
// ÀÎÁõ¿¡ ½ÇÆÐÇßÀ¸¹Ç·Î, ¿øÀÎÀ» Ç¥½ÃÇÕ´Ï´Ù
foreach ($result->getMessages() as $message) {
echo "$messagen";
}
} else {
// ÀÎÁõ¿¡ ¼º°øÇß½À´Ï´Ù
// $result->getIdentity() === $username
}