Zend_Acl (Àº)´Â, °æ·®À¸·Î À¯¿¬ÇÑ ¾×¼¼½º Á¦¾î ¸®½ºÆ® (ACL) ±â´É°ú ±ÇÇÑ °ü¸® ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù.¾îÇø®ÄÉÀ̼ǿ¡¼´Â ÀϹÝÀûÀ¸·Î, º¸È£µÈ ¿ÀºêÁ§Æ®¿¡ÀÇ ¾×¼¼½º¸¦ Á¦¾îÇϱâ À§Çؼ ÀÌ·¯ÇÑ ±â´ÉÀ» »ç¿ëÇÕ´Ï´Ù.
ÀÌ ¹®¼¿¡ ´ëÇϰí,
ÀÚ¿ø (Resource) (ÀÌ)¶õ, ¾×¼¼½º Á¦¾îÀÇ ´ë»óÀÌ µÇ´Â ¿ÀºêÁ§Æ®ÀÔ´Ï´Ù.
·Ñ (Role) (ÀÌ)¶õ, ÀÚ¿ø¿¡ ´ëÇØ¼ÀÇ ¾×¼¼½º¸¦ ¿ä±¸ÇÏ´Â ¿ÀºêÁ§Æ®ÀÔ´Ï´Ù.
°£´ÜÇÏ°Ô ¸»Çϸé, ·ÑÀÌ ÀÚ¿ø¿¡ ´ëÇØ¼ÀÇ ¾×¼¼½º¸¦ ¿ä±¸ÇÑ´Ù ±×·¸´Ù°í ÇÏ´Â °ÍÀÔ´Ï´Ù.¿¹¸¦ µé¾î, ¾î´À »ç¶÷ÀÌ ÀÚµ¿Â÷¸¦ ÀÌ¿ëÇÏ°í ½Í´Ù°í »ý°¢Çϰí ÀÖ´Ù°í ÇսôÙ. ÀÌ °æ¿ì, ÀÚµ¿Â÷¸¦ ´©°¡ ÀÌ¿ëÇÒ ¼ö ÀÖ´ÂÁö°¡ °ü¸®µÇ°í ÀÖ´Ù°í ÇÏ¸é ¡¸ÀÖ´Â »ç¶÷¡¹ÀÌ ·Ñ·Î ¡¸ÀÚµ¿Â÷¡¹°¡ ÀÚ¿øÀÌ µË´Ï´Ù.
¾×¼¼½º Á¦¾î ¸®½ºÆ® (ACL) (À¸)·ÎÀÇ ¼³Á¤¿¡ ÀÇÇØ¼, ¾îÇø®ÄÉÀ̼ÇÀº ¿ä±¸ÇØ ¿Â ¿ÀºêÁ§Æ® ( ·Ñ) ÇÏÁö¸¸ Á¦ÇÑµÈ ¿ÀºêÁ§Æ® ( ÀÚ¿ø) ¿¡ÀÇ ¾×¼¼½º¸¦ ÀÎÁ¤¹Þ°í ÀÖ´ÂÁö ¾î¶²Áö¸¦ Á¦¾îÇÕ´Ï´Ù.
Zend_Acl ±×·³, ÀÚ¿øÀ» ÀÛ¼ºÇÏ´Â °ÍÀº °£´ÜÇÕ´Ï´Ù.Zend_Acl ÀÇ Zend_Acl_Resource_Interface
¿¡,
°³¹ßÀÚ°¡ ÀÚ¿øÀ» ÀÛ¼ºÇÏ´Â °Í µ½´Â ±â´ÉÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ÀÚ¿ø Ŭ·¡½º´Â, ´ÜÁö ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ½ÇÀåÇÏ´Â °Í¸¸À¸·Î ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ ÀÎÅÍÆäÀ̽º¿¡ Æ÷ÇԵǴ ¸Þ¼Òµå´Â Çϳª¸¸À¸·Î, ±×°ÍÀº getResourceId()
ÀÔ´Ï´Ù.ÀÌ
¸Þ¼Òµå¿¡ ÀÇÇØ, Zend_Acl (Àº)´Â ±× ¿ÀºêÁ§Æ®°¡ ÀÚ¿øÀÌ´Ù°í ÆÇ´ÜÇÕ´Ï´Ù.°Ô´Ù°¡ ±âº»ÀûÀÎ ÀÚ¿øÀÇ ½ÇÀåÀ» Æ÷ÇÔÇÑ´Ù Zend_Acl_Resource
ÇÏÁö¸¸
Zend_Acl ¿¡ ÀÎŬ·çµå µÇ°í ÀÖ½À´Ï´Ù. °³¹ßÀÚ´Â, ÇÊ¿äÇÑ ºÎºÐ¸¸ÅÀ» È®ÀåÇÏ´Â °ÍÀ¸·Î ÀÚ¿øÀ» ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
Zend_Acl (Àº)´Â, Æ®¸® ±¸Á¶¸¦ Á¦°øÇϰí ÀÖ½À´Ï´Ù.À̰ÍÀ» ÀÌ¿ëÇØ º¹¼öÀÇ ÀÚ¿ø (" ¾×¼¼½º Á¦¾îµÇ°í ÀÖ´Â ¿¡¸®¾î") (À»)¸¦ Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÚ¿øÀº ÀÌ¿Í °°ÀÌ Æ®¸® ±¸Á¶·Î °ü¸®µÇ¹Ç·Î, Àü¹ÝÀûÀÎ °Í ( ·çÆ®¿¡ °¡±î¿î Æí) (À¸)·ÎºÎÅÍ Æ¯¼öÇÑ °Í ( ¸»´Ü¿¡ °¡±î¿î Æí) ±îÁö¸¦ Ãë±ÞÇÒ ¼ö ÀÖ½À´Ï´Ù. ƯÁ¤ÀÇ ÀÚ¿ø¿¡ ´ëÇØ¼ ¹®ÀǸ¦ ½Ç½ÃÇϸé, ÀÚ¿øÀÇ °èÃþÀ» ´õµë¾î ÀÚµ¿ÀûÀ¸·Î »óÀ§ °èÃþ¿¡ÀÇ ¹®Àǵµ ÇàÇØÁý´Ï´Ù. À̰Ϳ¡ ÀÇÇØ, ±ÔÄ¢À» °èÃþÈÇØ °ü¸®ÇÏ´Â °Í ½ÇÇöµÉ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ¾î´À µµ½ÃÀÇ ¸ðµç °Ç¹°¿¡ Àû¿ëµÇ´Â µðÆúÆ®ÀÇ ±ÔÄ¢ÀÌ ÀÖ´Â °æ¿ì¿¡, ±×°ÍÀ» °¢ °Ç¹°¿¡ Àû¿ëÇÏ´Â ´ë½Å¿¡ µµ½Ã¿¡ ´ëÇØ¼ Àû¿ëÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù. ¾È¿¡´Â ÀÌ ±ÔÄ¢ÀÇ ¿¹¿Ü°¡ µÇ´Â °Ç¹°µµ ÀÖÀ»Áöµµ ¸ð¸¨´Ï´Ù. Zend_Acl ±×·³, ÀÌ·¯ÇÑ »óȲµµ °£´ÜÇÏ°Ô Ã³¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¿ÜÀûÀÎ ±ÔÄ¢À» Àû¿ëÇÏ´Â °Ç¹°¿¡ ´ëÇØ¼´Â, °Ç¹°¿¡ ´ëÇØ¼ Á÷Á¢ ±ÔÄ¢À» Á¤ÀÇÇϸé ÁÁ½À´Ï´Ù. ÀÚ¿øÀº, ´ÜÀÏÀÇ ÀÚ¿ø ¹Û¿¡ °è½ÂÇÒ ¼ö ¾ø½À´Ï´Ù. ±×¸®°í ±× °è½Â¿øÀÇ ÀÚ¿øÀÌ ¶Ç ´Ù¸¥ Ä£ÀÚ¿øÀ» °è½ÂÇØ¡¦¡¦ (¿Í)°ú °°Àº Á¤µµ°¡ µË´Ï´Ù.
Zend_Acl (Àº)´Â, ÀÚ¿ø¿¡ ´ëÇÑ ±ÇÇÑ ("create" ,"read" ,"update" ,"delete" µî) µµ ¼Æ÷Æ®Çϰí ÀÖ¾î, ¸ðµç ±ÇÇÑ È¤Àº ÀϺÎÀÇ ±ÇÇÑÀ¸·Î ¿µÇâÀ» ¹ÌÄ¡´Â ±ÔÄ¢À», ÀÚ¿ø¿¡ ´ëÇØ¼ ÇÒ´çÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÚ¿ø°ú °°ÀÌ, ·ÑÀ» ÀÛ¼ºÇÏ´Â °Íµµ °£´ÜÇÕ´Ï´Ù.Zend_Acl ÀÇ Zend_Acl_Role_Interface
¿¡,
°³¹ßÀÚ°¡ ·ÑÀ» ÀÛ¼ºÇÏ´Â °Í µ½´Â ±â´ÉÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ·Ñ Ŭ·¡½º´Â, ´ÜÁö ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ½ÇÀåÇÏ´Â °Í¸¸À¸·Î ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ ÀÎÅÍÆäÀ̽º¿¡ Æ÷ÇԵǴ ¸Þ¼Òµå´Â Çϳª¸¸À¸·Î, ±×°ÍÀº getRoleId()
ÀÔ´Ï´Ù.ÀÌ
¸Þ¼Òµå¿¡ ÀÇÇØ, Zend_Acl (Àº)´Â ±× ¿ÀºêÁ§Æ®°¡ ·ÑÀÌ´Ù°í ÆÇ´ÜÇÕ´Ï´Ù.°Ô´Ù°¡ ±âº»ÀûÀÎ ·ÑÀÇ ½ÇÀåÀ» Æ÷ÇÔÇÑ´Ù Zend_Acl_Role
ÇÏÁö¸¸
Zend_Acl ¿¡ ÀÎŬ·çµå µÇ°í ÀÖ½À´Ï´Ù. °³¹ßÀÚ´Â, ÇÊ¿äÇÑ ºÎºÐ¸¸ÅÀ» È®ÀåÇÏ´Â °ÍÀ¸·Î ÀÚ¿øÀ» ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
Zend_Acl ±×·³, ¾î´À ·ÑÀº ´Ù¸¥ º¹¼öÀÇ ·ÑÀ» °è½ÂÇÒ ¼ö ÀÖ½À´Ï´Ù. À̰ÍÀº, °¢°¢ÀÇ ·ÑÀÇ ±ÔÄ¢À» °è½ÂÇÏ´Â °ÍÀ» ¼Æ÷Æ®Çϱâ À§ÇÑÀÇ °ÍÀÔ´Ï´Ù. ¿¹¸¦ µé¾î,"sally" (¿Í)°ú °°Àº À¯Àú ·ÑÀº,"editor" ÇÑÆí "administrator" (¿Í)°ú °°ÀÌ º¹¼öÀÇ Ä£·Ñ¿¡ ¼ÓÇÏ´Â Àϵµ ÀÖÀ» ¼ö ÀÖ°ÚÁö¿ä. ÀÌ °æ¿ì, °³¹ßÀÚ´Â "editor" ¹× "administrator" ¿¡ °¢°¢ º°·Î ±ÔÄ¢À» Á¤ÀÇÇÕ´Ï´Ù. ±×¸®°í "sally" ÇÏÁö¸¸ ±× ¾çÂÊ ¸ðµÎ¸¦ °è½ÂÇϱâ·Î ÇϰڽÀ´Ï´Ù. "sally" ¿¡ ±ÔÄ¢À» Á÷Á¢ Á¤ÀÇÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù.
![]() |
ÁÖÀÇ |
---|---|
Zend_Acl (Àº)´Â º¹¼ö ·Ñ·ÎºÎÅÍÀÇ ±ÔÄ¢ÀÇ °è½ÂÀ» ¼Æ÷Æ®Çϰí ÀÖ½À´Ï´Ù¸¸, ¼·ÎÀÇ ±ÔÄ¢ÀÌ Ãæµ¹ÇÒ °¡´É¼ºµµ ÀÖ½À´Ï´Ù. ´ç¿¬, ÀÌ Ãæµ¹Àº ÇØ¼ÒÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. Zend_Acl ±×·³, ÀÌ·¯ÇÑ Ãæµ¹ÀÇ °¡´É¼ºÀ» ÇØ°áÇϱâ À§Çؼ, ¹Ù·Î ¿·¿¡ °è½ÂµÈ ·ÑÀÇ ¿ì¼±µµ°¡ ³ô¾ÆÁöµµ·Ï(µíÀÌ) Çϰí ÀÖ½À´Ï´Ù. Áï, ¾î´À ±ÔÄ¢ÀÌ " ºÎ¸ðÀÇ" ·Ñ ( ¹Ù·Î ¿·ÀÇ °è½Â¿ø) ±×¸®°í ¹ß°ßµÇ¸é, ±×°ÍÀ» ä¿ëÇØ, ´Ù¸¥ ±ÔÄ¢Àº »ç¿ëÇÏÁö ¾Ê½À´Ï´Ù.±×·¸´Ù°í ÇÏ´Â °Íµµ, À̰ÍÀÌ °¡Àå ¿ì¼±µµÀÇ ³ôÀº ±ÔÄ¢ÀÌ µÇ±â ¶§¹®ÀÔ´Ï´Ù. |
ACL (À»)¸¦ »ç¿ëÇϰí, ¹°¸®Àû ȤÀº °¡»óÀûÀÎ ¿ÀºêÁ§Æ®ÀÇ Æí¼ºÀ» ¼Ò¸Á ´ë·Î¿¡ Ç¥ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù.±×·¯³ª ¿©±â¿¡¼´Â, ¼³¸í¿ëÀ¸·Î¼ ±âº»ÀûÀÎ ÄÁÅÙÃ÷ °ü¸® ½Ã½ºÅÛ (CMS) ÀÇ ACL (À»)¸¦ »ý°¢ÇÕ´Ï´Ù. À̰ÍÀº, ´Ù¾çÇÑ ¿µ¿ª¿¡¼ º¹¼ö °èÃþÀÇ ±×·ìÀ» °ü¸®ÇÏ´Â °ÍÀÔ´Ï´Ù. »õ·Ó´Ù ACL ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÏ·Á¸é , ¾Æ¹«°Íµµ ÆÄ¶ó¹ÌÅ͸¦ ÁöÁ¤ÇÏÁö ¾Ê°í ACL ÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
<?php
require_once 'Zend/Acl.php';
$acl = new Zend_Acl();
![]() |
ÁÖÀÇ |
---|---|
Zend_Acl ÀÇ ½ÇÀåÀº, µðÆúÆ®¿¡¼´Â " ÈÀÌÆ® ¸®½ºÆ®" Çü½ÄÀÌ µË´Ï´Ù. Áï, °³¹ßÀÚ°¡ ¸í½ÃÀûÀ¸·Î ÁöÁ¤ÇÏÁö ¾Ê´Â ÀÌ»óZend_Acl (Àº)´Â ¸ðµç ·ÑÀÇ ¸ðµç ÀÚ¿ø»óÀÇ ±ÇÇÑÀ¸·ÎºÎÅÍÀÇ ¾×¼¼½ºµµ °ÅºÎÇÕ´Ï´Ù. |
ÄÁÅÙÃ÷ °ü¸® ½Ã½ºÅÛ¿¡¼´Â, °ÅÀÇ ¸ðµç Àå¸é¿¡¼ ±ÇÇÑ °èÃþÀÇ °ü¸®°¡ ÇÊ¿äÇÕ´Ï´Ù. À̰Ϳ¡ ÀÇÇØ, À¯ÀúÀÇ ÆíÁý ±ÇÇÑÀ» °áÁ¤ÇÕ´Ï´Ù.¿¹¸¦ µé¾î 'Guest' ±×·ì¿¡ ´ëÇØ¼´Â µ¥¸ð¿ëÀ¸·Î ÇÑÁ¤ÇÑ ¾×¼¼½º±ÇÇѸ¸À» Çã°¡ÇØ, 'Staff' ±×·ìÀº Åë»óÀÇ Á¶ÀÛÀ» ÇÏ´Â ´ëºÎºÐÀÇ CMS À¯Àú¿ëÀ¸·Î ÀÛ¼ºÇØ, 'Editor' ±×·ì¿¡´Â ÄÁÅÙÃ÷ÀÇ °ø°³³ª ¸®ºä, º¸Á¸À̳ª »èÁ¦ÀÇ ±ÇÇÑÀ» ÁÖ¾î ¸¶Áö¸·¿¡ 'Administrator' (Àº)´Â, ±× ¿ÜÀÇ ¸ðµç ±×·ìÀÇ ±ÇÇÑ¿¡ °¡¼¼ÇØ ±â¹Ð Á¤º¸ÀÇ °ü¸®³ª À¯Àú °ü¸®, µ¥ÀÌÅÍÀÇ ¹é¾÷/ export ±â´ÉÀ» Áشٰí ÇÑ °Íó·³ µË´Ï´Ù. ÀÌ·¯ÇÑ ±ÇÇÑÀ», ·Ñ ·¹Áö½ºÆ®¸®·Î ³ªÅ¸³¾ ¼ö ÀÖ½À´Ï´Ù. °¢ ±×·ìÀÇ ±ÇÇÑÀ» ' ºÎ¸ðÀÇ' ±×·ìÀ¸·ÎºÎÅÍ °è½Â½ÃÄÑ, ±× ±×·ì¿¡ °íÀ¯ÀÇ ±ÇÇÑÀ» Ãß°¡·Î Á¤ÀÇÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ±ÇÇÑÀ» Á¤¸®Çϸé, ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.
Ç¥ 2.1. »ùÇà CMS ¿ë¹«ÀÇ ¾×¼¼½º Á¦¾î
À̸§ | ±ÇÇÑ | °è½ÂÇÏ´Â ±ÇÇÑÀÇ °è½Â¿ø |
---|---|---|
Guest | View | ¾øÀ½ |
Staff | Edit, Submit, Revise | Guest |
Editor | Publish, Archive, Delete | Staff |
Administrator | ( ¸ðµç ¾×¼¼½º¸¦ Çã°¡) | ¾øÀ½ |
ÀÌ ¿¹¿¡¼´Â Zend_Acl_Role
(À»)¸¦ ÀÌ¿ëÇϰí ÀÖ½À´Ï´Ù¸¸, Zend_Acl_Role_Interface
(À»)¸¦
½ÇÀåÇϰí ÀÖ´Â ¿ÀºêÁ§Æ®¶ó¸é ¹¹µçÁö »ç¿ë °¡´ÉÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ±×·ìÀ», ´ÙÀ½°ú °°ÀÌ ÇØ ·Ñ ·¹Áö½ºÆ®¸®¿¡ Ãß°¡ÇÕ´Ï´Ù.
<?php
require_once 'Zend/Acl.php';
$acl = new Zend_Acl();
// Zend_Acl_Role
(À»)¸¦ »ç¿ëÇϰí, ±×·ìÀ» ·Ñ ·¹Áö½ºÆ®¸®¿¡ Ãß°¡ÇÕ´Ï´Ù
require_once 'Zend/Acl/Role.php';
// Guest
(Àº)´Â ¾×¼¼½º Á¦¾î¸¦ °è½ÂÇÏÁö ¾Ê½À´Ï´Ù
$roleGuest = new Zend_Acl_Role('guest');
$acl->addRole($roleGuest);
// Staff
ÇÏ guest
ÀÇ ±ÇÇÑÀ» °è½ÂÇÕ´Ï´Ù
$acl->addRole(new Zend_Acl_Role('staff'), $roleGuest);
/*
ȤÀº, À§ÀÇ ³»¿ëÀº ´ÙÀ½°ú °°ÀÌ ¾µ ¼öµµ ÀÖ½À´Ï´Ù
$roleGuest = $acl->addRole(new Zend_Acl_Role('staff'), 'guest');
//*/
// Editor
ÇÏ staff
ÀÇ ±ÇÇÑÀ» °è½ÂÇÕ´Ï´Ù
$acl->addRole(new Zend_Acl_Role('editor'), 'staff');
// Administrator
(Àº)´Â ¾×¼¼½º Á¦¾î¸¦ °è½ÂÇÏÁö ¾Ê½À´Ï´Ù
$acl->addRole(new Zend_Acl_Role('administrator'));
ACL ¿¡ ÀûÀýÇÑ ·ÑÀÌ Æ÷ÇÔµÈ »óŰ¡ µÇ¾ú½À´Ï´Ù.À̰ÍÀ¸·Î, ÀÚ¿ø¿¡ ´ëÇØ¼ ·ÑÀÌ ¾î¶»°Ô ¾×¼¼½º Çϴ°¡ ÇÏ´Â ±ÔÄ¢À» Á¤ÀÇÇÒ ¼ö ÀÖ´Â »óŰ¡ µÇ¾ú½À´Ï´Ù. ÀÌ ¿¹¿¡¼´Â ƯÁ¤ÀÇ ÀÚ¿øÀ» Á¤ÀÇÇϰí ÀÖÁö ¾Ê´Â °Í¿¡ ±âºÐ±Í´ìµµ ¾Ë·ÁÁöÁö ¾Ê½À´Ï´Ù. ÀÌ °æ¿ì, ±ÔÄ¢Àº ¸ðµç ÀÚ¿ø¿¡ ´ëÇØ¼ Àû¿ëµË´Ï´Ù. Zend_Acl (À»)¸¦ »ç¿ëÇϸé, Àü¹ÝÀûÀÎ °ÍÀ̵çÁö Ư¼öÇÑ °ÍÀ̵çÁö ±ÔÄ¢À» Àû¿ëÇÏ´Â °Í¸¸À¸·Î Á¤ÀÇÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù. ÀÚ¿øÀ̳ª ·ÑÀº, ±× °è½Â¿øÀ¸·Î Á¤Àǵǰí ÀÖ´Â ±ÔÄ¢À» °è½ÂÇϱ⠶§¹®ÀÔ´Ï´Ù.
±× ¶§¹®¿¡, º¹ÀâÇÑ ±ÔÄ¢ÀÇ Æí¼ºÀ» ÃÖ¼ÒÇÑÀÇ ÄÚµå·Î Á¤ÀÇÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù. À§¿¡¼ Á¤ÀÇÇÑ ±âº»ÀûÀÎ ±ÇÇÑÀ» Àû¿ëÇÏ·Á¸é , ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù.
<?php
require_once 'Zend/Acl.php';
$acl = new Zend_Acl();
require_once 'Zend/Acl/Role.php';
$roleGuest = new Zend_Acl_Role('guest');
$acl->addRole($roleGuest);
$acl->addRole(new Zend_Acl_Role('staff'), $roleGuest);
$acl->addRole(new Zend_Acl_Role('editor'), 'staff');
$acl->addRole(new Zend_Acl_Role('administrator'));
// Guest
(Àº)´Â, ÄÁÅÙÃ÷¸¦ ¿¶÷ÇÏ´Â Àϵµ¿¡°¡ °¡´ÉÇÕ´Ï´Ù
$acl->allow($roleGuest, null, 'view');
/*
À§¿Í °°Àº ³»¿ëÀ», ÀÌ¿Í °°ÀÌ ¾µ ¼öµµ ÀÖ½À´Ï´Ù
$acl->allow('guest', null, 'view');
//*/
// Staff
ÇÏ guest
ÀÇ ±ÇÇÑÀ» ¸ðµÎ °è½ÂÇÑ µ¥´Ù°¡, ÇÑÃþ ´õ Ãß°¡ÀÇ ±ÇÇÑÀ» ÇÊ¿ä·Î ÇÕ´Ï´Ù
$acl->allow('staff', null, array('edit', 'submit', 'revise'));
// Editor
(Àº)´Â,staff
ÀÇ ±ÇÇÑ (view
,edit
,submit
¹× revise)
//
(À»)¸¦ °è½ÂÇÑ µ¥´Ù°¡, ÇÑÃþ ´õ Ãß°¡ÀÇ ±ÇÇÑÀ» ÇÊ¿ä·Î ÇÕ´Ï´Ù
$acl->allow('editor', null, array('publish', 'archive', 'delete'));
// Administrator
(Àº)´Â ¾Æ¹«°Íµµ °è½ÂÇÏÁö ¾Ê½À´Ï´Ù¸¸, ¸ðµç ±ÇÇÑÀÌ ÀÎÁ¤µÇ°í ÀÖ½À´Ï´Ù
$acl->allow('administrator');
ˤ˂ allow()
ÀÇ ÄÝ¿¡ ÀÖ¾î¼ÀÇ null
(Àº)´Â,
±ÔÄ¢À» ¸ðµç ÀÚ¿ø¿¡ ´ëÇØ¼ Àû¿ëÇÏ´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù.
À̰ÍÀ¸·Î, À¯¿¬ÇÑ ACL ÇÏÁö¸¸ ÀÛ¼ºÇÒ ¼ö ÀÖ¾ú½À´Ï´Ù.À̰Ϳ¡ ÀÇÇØ, À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ »ç¿ëÀÚ°¡, ¾î´À ±â´ÉÀ» »ç¿ëÇϱâ À§Çؼ
ÇÊ¿äÇÑ ±ÇÇÑÀ» °¡Áö°í ÀÖÀ»±î¸¦ Á¶»çÇÒ ¼ö ÀÖ°Ô µÇ¾ú½À´Ï´Ù. ¹®ÀǸ¦ ½Ç½ÃÇÏ´Â °ÍÀº °£´ÜÇϰí, ´ÜÁö isAllowed()
¸Þ¼Òµå¸¦
»ç¿ëÇÒ »ÓÀÔ´Ï´Ù.
<?php
echo $acl->isAllowed('guest', null, 'view') ?
"allowed" : "denied"; // allowed
µË´Ï´Ù
echo $acl->isAllowed('staff', null, 'publish') ?
"allowed" : "denied"; // denied
µË´Ï´Ù
echo $acl->isAllowed('staff', null, 'revise') ?
"allowed" : "denied"; // allowed
µË´Ï´Ù
echo $acl->isAllowed('editor', null, 'view') ?
"allowed" : "denied"; // guest
(À¸)·ÎºÎÅÍ °è½ÂÇϰí ÀÖÀ¸¹Ç·Î allowed
µË´Ï´Ù
echo $acl->isAllowed('editor', null, 'update') ?
"allowed" : "denied"; // 'update'
¿ë¹«ÀÇ ±ÔÄ¢ÀÌ ¾ø±â ¶§¹®¿¡ denied
µË´Ï´Ù
echo $acl->isAllowed('administrator', null, 'view') ?
"allowed" : "denied"; // administrator
(Àº)´Â ¸ðµç ±ÇÇÑÀÌ Çã°¡µÇ°í ÀÖÀ¸¹Ç·Î allowed
µË´Ï´Ù
echo $acl->isAllowed('administrator') ?
"allowed" : "denied"; // administrator
(Àº)´Â ¸ðµç ±ÇÇÑÀÌ Çã°¡µÇ°í ÀÖÀ¸¹Ç·Î allowed
µË´Ï´Ù
echo $acl->isAllowed('administrator', null, 'update') ?
"allowed" : "denied"; // administrator
(Àº)´Â ¸ðµç ±ÇÇÑÀÌ Çã°¡µÇ°í ÀÖÀ¸¹Ç·Î allowed
µË´Ï´Ù