【问题标题】:How to manage user and group using DB and PHP?如何使用 DB 和 PHP 管理用户和组?
【发布时间】:2010-08-05 06:11:59
【问题描述】:


我们有一个软件存储库网站,供内部团队访问。
目前有很多用户并分为不同的组。
为了管理它们,我们使用像二进制编号这样的字符串,比如 '000101' 并检查 1 及其位置,基于此,我们决定用户属于哪个组...

例如,
'01111' => 组'test1'
'10111' => 组'test2'
'11011' => 组'exa1'
'11101' => 组 'exa2'
'11110' => 组'管理员'
我们对用户访问组进行“与”操作...
user = 'someone', access = '01001' ... 表示 user(someone) 属于组 => test2 和 admin。

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

因此,如果有人实现或知道不同的逻辑而不是上述逻辑,请分享它,这将是很大的帮助。

提前致谢。

【问题讨论】:

    标签: php sql web-applications


    【解决方案1】:
    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 位长的数字,除非某些组是其他组的超集。要确定组成员身份,应使用 OR 操作,而不是 AND。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-18
      • 2021-12-31
      • 1970-01-01
      • 1970-01-01
      • 2017-02-12
      相关资源
      最近更新 更多