zend中acl的问题
acl的问题
小弟我接触php不久,刚刚接触就学zendframework,有点困难。现在最最难啃的是acl。
先说说自己的理解,有什么不对的地方还请大家,尽快尽量详细的给于指正。。
首先,初始化acl : $this->_acl=new Zend_Acl();
然后,定义一个角色: $groupRole=new Zend_Acl_Role($this->_Session->user['group_name']);$this->_acl->addRole($groupRole);
接着,无论是读缓存也好,读库也好,找到他的资源。moudle|controller|action;
给他定义自己能访问的资源:
foreach ($resource as $k=>$v)
{
$r=new Zend_Acl_Resource($v['controller'].'.'.$v['p_name']);
$this->_acl->add($r);
}
最后用isallow来判断:$this->_acl->isAllowed($this->_wdouSession->user['group_name'], $userrequire);
第一个参数(session)根据这个参数来得到它能访问的资源的列表,如果$userrequire;属于这个列表的话,就能访问,不属于就不能访问!
是不是这样理解啊?
如果是这样的话,allow的作用是什么呢?直接把某个特殊的权限直接付给某个用户吗?也就是不用isallow来判断了吗?
大概是全部都弄错了!