【问题标题】:How to make session to allow different project?如何进行会话以允许不同的项目?
【发布时间】:2010-12-15 12:30:27
【问题描述】:

我打算用 PHP/MySQL/Codeigniter 做一个项目管理。

它将有 10 - 20 个用户和 20 - 30 个项目同时进行。

假设 John 是 A、B 和 C 项目的成员。Cindy 在 A、D、F G 等。

我想让它只有项目成员才能访问该项目。

现在我不确定如何处理这个问题。

您对数据库设计和会话有何建议。

任何资源将不胜感激。

【问题讨论】:

    标签: php mysql database-design session codeigniter


    【解决方案1】:

    如果您不想使用框架解决方案:

    1. 拥有 User、Project 和 UserProject 表。

    2. 对于用户所在的每个项目,UserProject 表将在一行中包含 UserID 和 Project ID。

    3. 创建会话时,您可以从 UserProject 表中拉取哪些项目是允许的(例如,将它们放入一个数组中,以便在显示导航时进行搜索)。

      李>
    4. 另外,每个项目都可以有一个用户设置为管理员,可以添加其他用户。

    【讨论】:

      【解决方案2】:

      你可以使用Zend_Acl with Codeigniter 或者你可以试试EzAuth

      【讨论】:

        【解决方案3】:

        至于会话存储,我可以推荐 memcached。有一个 PHP 函数可以让您设置自己的会话处理程序。不要将会话保存到真实数据库中。这会增加不必要的开销。

        我不能告诉你太多关于数据库设计的信息,因为你的帖子缺乏大量信息。因此我只想说,创建两个表,“用户”和“项目”。 “用户”由列 ID、名称和电子邮件组成。项目由列 ID、用户 ID(如果 DBMS 支持,则为外键)、名称等组成。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-03-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-08-03
          • 2014-11-18
          相关资源
          最近更新 更多