某系统,其用户有1,2,3,4,5,6,7,8,9个类型,用户可以随机选择类型,类型个数、组合都是随机的,比如可以只选1,可以选1,2,3,4,5,6,7,8,9,可以选1,9……每个用户的后台管理系统的权限不一样,根据每种组合分配权限,这就是说,有多少个组合,就有多少个权限。这个dz论坛不一样,dz的用户组和权限只有那么几个,是固定的。我觉得,可以写一个算法,生成一个数组,数组的值就是这多个组合(多个类型之间用“,号”分隔),起健名正好是唯一的
跪求思路,感谢。
跪求思路,感谢。
调试欢乐多
的确,第一种方法最简单,也最容易维护的。第二种方法说白了,就是为了有更好的用户体验度。
你想想,有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是哪儿来的,不过 好像有点灵感了
$array = array(
'1',
'2',
'3',
'4',
'1,2',
'1,3',
'1,4',
'1,2,3',
'1,3,4',
'1,2,4'
'2,3',
'2,4',
'2,3,4'
'3,4',
);