如何让会话允许不同的项目?

时间:2009-11-11 15:43:36

标签: php mysql database-design session codeigniter

我打算用PHP / MySQL / Codeigniter进行项目管理。

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

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

我想让它只有项目成员可以访问项目。

现在我不知道如何处理这个问题。

您在数据库设计和会话方面有何建议。

任何资源都将受到赞赏。

3 个答案:

答案 0 :(得分:4)

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

  1. 拥有User,Project和UserProject表。

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

  3. 创建会话时,您可以从UserProject表中提取以查找允许的项目(例如,将它们放入可在导航显示时搜索的数组中)。

  4. 此外,每个项目都可以将用户设置为管理员,可以添加其他用户。

答案 1 :(得分:3)

您可以使用Zend_Acl with Codeigniter,也可以尝试EzAuth

答案 2 :(得分:1)

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

由于您的帖子缺乏实质性信息,我无法告诉您有关数据库设计的更多信息。因此,我只想说,创建两个表,“用户”和“项目”。 “user”由列ID,名称和电子邮件组成。项目包括列ID,用户ID(如果DBMS支持,则为外键),名称等。