首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

收藏此问题 发表新评论

Zend_Acl 在具体项目中的讨论

我的 project里面 使用了zend acl 发现acl实在是很灵活,虽然灵活但是使用起来遇倒困难.

acl是在这样做的

几个module是最祖先的resource

module.controller是从module的子资源,也就是从module继承过来的.这样子资源的权限就可以从父资源哪里继承过来.
$module=new Zend_Acl_Resource('module');
$moduleDotController=new Zend_Acl_resource('module.controller');
$acl=new Zend_Acl();
$acl->add($module);
$acl->add($moduleDotController,$module);

action是作为privilege处理的.

role也是基于继承group权限的.

我在创建acl时候是这样处理的:

先将module 这些父资源添加倒acl中.再将module.controller资源添加到acl中.

添加用户所在组角色.添加用户角色.用户角色权限继承自所在组.

这样在验证权限时候很好处理,但是在保存用户acl时候碰到困难,中间涉及到resource的继承和组的继承,保存acl保存不了.

有没有人在实际项目中好的 做acl的方法?
网上很多说的都是很简单的应用方法.没有在实际项目中应用.
昵称: chine  时间: 2007-08-29 11:57:00
我根本就不想用ACL,直接用auth做授权,虽然手册上明明写着auth不适合干这行:lol
昵称: kekydream  时间: 2007-08-29 12:17:00
acl的实际应用部分,可参看mikespook的ninny项目:
http://blog.xxiyy.com/index.php/ ... y/php/ninny-project
昵称: suwu  时间: 2007-09-01 03:12:00