用户
 找回密码
 入住 CI 中国社区
搜索
楼主: jeongee
收起左侧

初识DiliCMS系列之一:DiliCMS介绍贴

  [复制链接]
发表于 2011-4-22 09:53:04 | 显示全部楼层
不知道为什么报出500错误,郁闷啊
 楼主| 发表于 2011-4-22 09:55:01 | 显示全部楼层
回复 21# xiaozhuaisnow


   可以尝试删除根目录下的.htaccess文件
发表于 2011-4-22 10:48:02 | 显示全部楼层
下载试用
发表于 2011-4-22 12:04:13 | 显示全部楼层
本帖最后由 nicklung 于 2011-4-22 12:17 编辑

楼主的这个系统用了Zend的ACL类来做权限管理,昨天搜了很多帖子来了解关于ACL,目前对ACL还不是特别的清晰。
我自己做的项目,权限管理是这样设置的,希望楼主能帮我提点改进意见:
1、用户表
2、用户组表(根据项目不同,可以换名叫组织结构表)
3、功能表(我的理解就是ACL中的资源)
4、页面表(在CI中可以改为controller中的某个action)
对应关系:
1、用户、用户组 多对多关系
2、用户组、功能 多对多关系
3、功能、页面 一对多关系(功能的细化程度可以根据项目定)
有了这几个对应之后,可以用一个VIEW(数据库的视图)将用户和页面的关系映射出来,一个查询语句就能得知该用户是否有某个页面的访问权限
同时,树形菜单项中的每一个末端节点都是一个功能模块,用户拥有哪些功能,树形菜单就显示哪些,没权限的可以完全屏蔽。
下一步准备做到用这个权限系统动态分配页面中的按钮,没权限的按钮干脆就不要显示,免得用户点了觉得委屈。

下一个项目准备用CI来做,正在改进这个权限系统
CI中可以用$this->uri->segment(1)和$this->uri->segment(2)来获取用户欲访问的页面(我以前是用basename(__FILE__)来获取),在MY_Controller中进行统一的用户操作权限判断(不需要在每个anction中都调用一次了,省事)

关于Zend ACL,我理解得还不太透彻,有机会楼主给我们讲解讲解。我理解的是,他的角色和资源大多以继承的关系生成,比较适合那种以组织结构进行用户分组的情况。同时,他的概念中,资源好像有点类似于我的用户组,那么资源所拥有的功能权限又在哪里定义的呢?或者说资源就是功能,那资源是否本身就身兼功能和功能组的两个性质呢?
 楼主| 发表于 2011-4-22 14:58:49 | 显示全部楼层
本帖最后由 jeongee 于 2011-4-22 15:06 编辑

回复 24# nicklung


   嗯,关于ZEND ACL目前在的项目中也是最简单的应用,都没应用到继承,欢迎多多交流
你的设计
1、用户表
2、用户组表(根据项目不同,可以换名叫组织结构表)
3、功能表(我的理解就是ACL中的资源)
4、页面表(在CI中可以改为controller中的某个action)


用zend acl的话你可以去掉页面表这个部分,就是3,和4 合并成一个,也就是acl中的资源,需要再建立一张用户组也就是角色,与资源的映射关系表,就是什么角色拥有什么资源,对吧?


关于页面,用户组和功能都可以使用继承,比如在CI中,你有一个user的控制器,里面有add,edit等action,那么功能表的可能的记录就是


resource_nameresource _decription parentid
user 用户管理 0 1
user_edit 编辑用户 1 2
user_add 添加用户 1 3

用户组表也可以使用集成来完成组织结构树的构建
发表于 2011-4-22 23:42:45 | 显示全部楼层
谢谢你的讲解,有些明白了ACL的意思了,角色相当于我的用户组,资源相当于我的页面,功能这个层面ACL中是省略了的,它是介于角色和资源之间的一个层面。功能这个层面是多个页面的组合,为了方便给树形菜单用的,比如用户管理,这算是个功能模块,在树形菜单中只占一个末节点,其拥有的权限包括list,view,edit,add,del,如果我需要给一个功能只分配用户的list和view权限,得另外弄个功能模块(比如叫用户查看)并授权。
现在问题出来了,ACL中的resource和role如何跟树形菜单结合呢?如果仅仅是为了权限控制,ACL应该够用了,但我项目大多都需要有树形菜单,只用ACL感觉少了个层面。
发表于 2011-4-22 23:56:22 | 显示全部楼层
再次仔细阅读了楼主的回复,发现自己刚才理解有误,楼主最后这句话提醒了我,用用户组来搭建树形菜单,是个选择,虽然这样会造成单个用户同时归属的组过多的问题(以前我没有使用用户组的时候,每个用户的授权都是个令人头痛的事),如果将用户组与用户的关系建成1对多的关系,就成了组织结构图了,缺乏了灵活性。
看来权限管理系统没有最完美的,只有最适合(具体项目)的。
发表于 2011-4-23 11:57:59 | 显示全部楼层
用http://localhost/dilicms/admin/home查看显示如下:  怎么回事?


找不到网页
您要查看的网页可能已被删除、名称已被更改,或者暂时不可用。

--------------------------------------------------------------------------------

请尝试以下操作:

如果您已经在地址栏中输入该网页的地址,请确认其拼写正确。

打开 localhost  主页,然后查找指向您感兴趣信息的链接。
单击后退按钮,尝试其他链接。
单击搜索,寻找 Internet 上的信息。



HTTP 404 - 未找到文件
Internet Explorer
 楼主| 发表于 2011-4-23 14:58:31 | 显示全部楼层
发表于 2011-4-24 07:59:56 | 显示全部楼层
本帖最后由 metshi 于 2011-4-24 08:52 编辑

回复 28#jeongee 版主,你好!
我删除了.htaccess文件 ,用localhost/dilicms可以看到页面:

欢迎使用DiliCMS,帮助手册

就是用localhost/dilicms/admin/home 进不了后台!真急死了

麻烦指点迷津,谢谢!

本版积分规则