Bajecznie proste do zrobienia przy użyciu zend'a
class Application_Model_DbTable_User_Row extends Zend_Db_Table_Row_Abstract
implements Zend_Acl_Resource_Interface
{
public function getResourceId()
{
return 'user';
}
}
//bootstrap
$userRow = new Zend_Acl_Resource('user');
$acl -> addResource($userRow);
$acl -> allow('guest', $userRow, array('view', 'galleries'), $privacy ); $acl -> allow('user', $userRow, array('view', 'galleries', 'edit'), $privacy );
class Application_Model_Privacy implements Zend_Acl_Assert_Interface
{
public function assert(Zend_Acl
$acl, Zend_Acl_Role_Interface $role = null,
Zend_Acl_Resource_Interface $resource = null,
$privilege = null)
{
if(!$resource instanceof Zend_Db_Table_Row_Abstract)
{
return false;
}
//twoj kod
}
}
$role = Zend_Auth::getInstance() -> hasIdentity() ? Zend_Auth::getInstance() -> getIdentity() : 'guest';
$acl -> isAllowed( $role , $table -> find(1
) -> current() , 'edit' );