I Zend_Navigation
kullanıyorum ve Zend_Acl
ile entegre çalışıyorum. Navigasyon her sayfa privilege
özniteliği vardır. Ne belirleyemiyor tek bir sayfa için birden yetkileri tanımlamak için nasıl.
Kullanıcıların yönetmek için Use case: bir sayfa. If (navigasyon) o sayfayı görüntülemek istediğiniz kullanıcının rolüne imzalanan mevcut add
, edit
, ya da {[(4) üzerine delete
ayrıcalıklar }] kaynak.
Navigasyon XML Örnek giriş:
<admin_users>
<label>Users</label>
<route>default</route>
<controller>admin</controller>
<action>users</action>
<resource>Users</resource>
<privilege>add,edit,delete</privilege>
</admin_users>
Yukarıdaki gibi bir virgülle ayrılmış listesini kullanarak istenilen davranışı borç değildir.
UPDATE
Kod kazma sonra, Zend_Navigation_Page
tek bir dize değeri verir bulundu. Herkes bu sınıf uzatılabilir veya bu sınırlama başka bir yolunu bulmuştur?
/**
* Sets ACL privilege associated with this page
*
* @param string|null $privilege [optional] ACL privilege to associate
* with this page. Default is null, which
* sets no privilege.
* @return Zend_Navigation_Page fluent interface, returns self
*/
public function setPrivilege($privilege = null)
{
$this->_privilege = is_string($privilege) ? $privilege : null;
return $this;
}