2010-08-05 56 views
0


我们拥有供内部团队访问的软件存储库网站。
目前有很多用户,并分成不同的组。
为了管理它们,我们使用类似二进制的字符串,如'000101',并检查1和它的位置,基于此,我们确定用户属于哪个组。

例如,
'01111'=>组 'TEST1'
'10111'=>组 'TEST2'
'11011'=>组 'exa1'
'11101'=>组 'exa2'
'11110' =>组'admin'
我们在用户访问时使用'AND'操作...
user ='someone',acces s ='01001'...表示用户(某人)属于组=> test2和admin。

我们存储这个二进制数。字符串到数据库。
现在情况就好像没有。的组增加(60 +),我正在寻找一些新的逻辑,而不是二进制字符串来识别用户和相应的组。

因此,如果任何人执行或知道不同的逻辑,而不是上述之一,那么请分享它,这将是很大的帮助。

在此先感谢。
如何使用数据库和PHP管理用户和组?

回答

2
CREATE TABLE groups_members (
    group_id INTEGER NOT NULL, 
    member_id INTEGER NOT NULL, 
    PRIMARY KEY(member_id, group_id) 
); 

基本SQL。有一个members表,一个groups表和一个表映射成员到组。这被称为多对多关系。顺便提一句,你显示的数字没有意义......如果你想要60个组,你需要60位长的数字,除非有些组是其他一些组的超集。要确定组成员资格,这将是一个或运算,而不是一个与。

相关问题