收藏本站 Archiver
    请 后使用快捷导航
    没有账号?入住 CI 中国社区
    楼主: yunnysunny

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

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

    回复 10# yunnysunny

    000000000000111(0,1,2位权限)


    如果2->外语选手被删掉了。
    那将影响000000000000111。
    同样,添加也是这个问题。如果添加一个新的Rule呢?
    位数15->SuperMan
    整个权限系统没有影响吗?
    最近在用CI开发一个系统。要是没有CI,就挂了。本人基本不懂PHP
    还好,MVC+OOP.基本Over了。
    16
    发表于 2010年7月27日 10:34:45 | 只看该作者
    非常不错,搜藏。
    17
    楼主| 发表于 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。
    18
    发表于 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型,则与传统的字符串型权限值比较没有太大差异

    目前在做的系统权限涉及到"行数据"一级,深感完全独立的权限系统很复杂。
    19
    发表于 2010年9月28日 17:10:05 | 只看该作者
    记号,以后可能用到
    20
    发表于 2010年10月30日 13:31:41 | 只看该作者
    恩,想法不错哦!

    评分

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

    查看全部评分

    下一页 »
    1 23 4 5 6 7 8 9 10 ... 11 下一页
    返回列表
    您需要登录后才可以回帖 登录 | 入住 CI 中国社区

    本版积分规则

    AltStyle によって変換されたページ (->オリジナル) /