不同于dz论坛的多权限分配
时间:2011-08-28
来源:互联网
某系统,其用户有1,2,3,4,5,6,7,8,9个类型,
用户可以随机选择类型,类型个数、组合都是随机的,
比如可以只选1,可以选1,2,3,4,5,6,7,8,9,可以选1,9……
每个用户的后台管理系统的权限不一样,根据每种组合分配权限,
这就是说,有多少个组合,就有多少个权限。
这个dz论坛不一样,dz的用户组和权限只有那么几个,是固定的。
我觉得,可以写一个算法,生成一个数组,数组的值就是这多个组合(多个类型之间用“,号”分隔),起健名正好是唯一的
跪求思路,感谢。
用户可以随机选择类型,类型个数、组合都是随机的,
比如可以只选1,可以选1,2,3,4,5,6,7,8,9,可以选1,9……
每个用户的后台管理系统的权限不一样,根据每种组合分配权限,
这就是说,有多少个组合,就有多少个权限。
这个dz论坛不一样,dz的用户组和权限只有那么几个,是固定的。
我觉得,可以写一个算法,生成一个数组,数组的值就是这多个组合(多个类型之间用“,号”分隔),起健名正好是唯一的
跪求思路,感谢。
作者: xiongmzh 发布时间: 2011-08-28
pow(2, n)
作者: xuzuning 发布时间: 2011-08-28
大哥,所有的都是从最基础的元素进行扩展的!
你的想法应该是1-9所有的组合都是一个不一样的权限!
咱们可以先从1-3来实现。那么要这样实现有两中方法
1: 1、2、3分别管理不同的模块,而且都是必要条件,只有有1时才能操作a模块,有2时才能操作b模块,一次类推!这样再相互组合
2: 1-3的所有的组合都给一个唯一的值,然后分别定义这些值的权限就可以了!
当然我感觉在扩展性上来讲,规划成1的模式是比较好的!
你的想法应该是1-9所有的组合都是一个不一样的权限!
咱们可以先从1-3来实现。那么要这样实现有两中方法
1: 1、2、3分别管理不同的模块,而且都是必要条件,只有有1时才能操作a模块,有2时才能操作b模块,一次类推!这样再相互组合
2: 1-3的所有的组合都给一个唯一的值,然后分别定义这些值的权限就可以了!
当然我感觉在扩展性上来讲,规划成1的模式是比较好的!
作者: a0shashen03 发布时间: 2011-08-28
引用 2 楼 a0shashen03 的回复:
大哥,所有的都是从最基础的元素进行扩展的!
大哥,所有的都是从最基础的元素进行扩展的!
的确,第一种方法最简单,也最容易维护的。
第二种方法说白了,就是为了有更好的用户体验度。
你想想,有1,2,3个模块,如果一个用户有操作1,3模块的权限,用第一个方法的话,需要注册两次,如果有更多权限,需要注册更多的帐号,用户嫌这样麻烦,恐怕没几个人愿意来注册了。
用第二个方法,就需要像一下这样组合:
$array = array(
'1',
'2',
'3',
'4',
'1,2',
'1,3',
'1,4',
'2,3',
'2,4',
'3,4',
);
我得想个算法生成这样一个数组,然后就好办了。
1楼的 pow(2, n) 不太明白,尤其是2是哪儿来的,不过 好像有点灵感了
作者: xiongmzh 发布时间: 2011-08-28
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28