ting 发表于 2010-6-4 16:26:18

权限控制。。。能不能使用KEY->MAP???

baiyuxiong 发表于 2010-6-5 02:04:46

相当不错,收了

leijuly 发表于 2010-6-5 14:08:38

思路不错,学习了

trynews 发表于 2010-6-5 22:32:49

很好,想法很棒,如果角色成百上千,那值不是很大?

tacyuuhon 发表于 2010-6-9 23:50:24

本帖最后由 tacyuuhon 于 2010-6-9 23:53 编辑

回复 10# yunnysunny

000000000000111(0,1,2位权限)


如果2->外语选手被删掉了。
那将影响000000000000111。
同样,添加也是这个问题。如果添加一个新的Rule呢?
位数15->SuperMan
整个权限系统没有影响吗?:loveliness:
{:3_64:}最近在用CI开发一个系统。{:3_59:}要是没有CI,就挂了。本人基本不懂PHP
;P还好,MVC+OOP.基本Over了。

zhongludeng 发表于 2010-7-27 10:34:45

非常不错,搜藏。

yunnysunny 发表于 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。

gauspican 发表于 2010-9-28 10:07:40

回复tacyuuhon

在构造函数中读取了一个config.php中的值level_nums,它的意思就是系统中角色的个数,如 ...
yunnysunny 发表于 2010-8-1 10:31 http://codeigniter.org.cn/forums/images/common/back.gif

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

目前在做的系统权限涉及到“行数据”一级,深感完全独立的权限系统很复杂。

kevinchen 发表于 2010-9-28 17:10:05

记号,以后可能用到

hainan89 发表于 2010-10-30 13:31:41

恩,想法不错哦!
页: 1 [2] 3 4 5 6 7 8 9 10 11
查看完整版本: 自制CI多权限控制类,轻松搞定多权限管理