用户
 找回密码
 入住 CI 中国社区

QQ登录

只需一步,快速开始

搜索
楼主: yunnysunny
收起左侧

[权限控制] 自制CI多权限控制类,轻松搞定多权限管理

    [复制链接]
发表于 2010-6-4 16:26:18 | 显示全部楼层
权限控制。。。能不能使用KEY->MAP???
发表于 2010-6-5 02:04:46 | 显示全部楼层
相当不错,收了
发表于 2010-6-5 14:08:38 | 显示全部楼层
思路不错,学习了
发表于 2010-6-5 22:32:49 | 显示全部楼层
很好,想法很棒,如果角色成百上千,那值不是很大?
发表于 2010-6-9 23:50:24 | 显示全部楼层
本帖最后由 tacyuuhon 于 2010-6-9 23:53 编辑

回复 10# yunnysunny

0000000000001110,1,2位权限)


如果2->外语选手被删掉了。
那将影响000000000000111。
同样,添加也是这个问题。如果添加一个新的Rule呢?
位数15->SuperMan
整个权限系统没有影响吗?
最近在用CI开发一个系统。要是没有CI,就挂了。本人基本不懂PHP
还好,MVC+OOP.基本Over了。
发表于 2010-7-27 10:34:45 | 显示全部楼层
非常不错,搜藏。
 楼主| 发表于 2010-8-1 10:31:53 | 显示全部楼层
回复 15# tacyuuhon

在构造函数中读取了一个config.php中的值level_nums,它的意思就是系统中角色的个数,如果是15中角色,就要配置config['level_nums']=15,这个会影响生成的二进制字符串的长度。假设在config.php中设置的level_nums为15,但是你要设置一个权限值为16的权限,将会产生一个类似“溢出”的结果,它将得到一个00000000000000,即产生的结果为0。
发表于 2010-9-28 10:07:40 | 显示全部楼层
回复  tacyuuhon

在构造函数中读取了一个config.php中的值level_nums,它的意思就是系统中角色的个数,如 ...
yunnysunny 发表于 2010-8-1 10:31


原来也用过这种方法,判断时“与或”速度很快,但扩展性一直是个问题。
1、假定为int型,通常无符号最大是20多亿,折成32位二进制,也就是最大32种权限
2、假定为char或varchar型,则与传统的字符串型权限值比较没有太大差异

目前在做的系统权限涉及到“行数据”一级,深感完全独立的权限系统很复杂。
发表于 2010-9-28 17:10:05 | 显示全部楼层
记号,以后可能用到
发表于 2010-10-30 13:31:41 | 显示全部楼层
恩,想法不错哦!

评分

参与人数 1威望 +6 收起 理由
justdoit + 6 很给力!

查看全部评分

本版积分规则