我打算用PHP / MySQL / Codeigniter进行项目管理。
它将有10-20个用户和20-30个项目同时进行。
假设John是项目A,B和C的成员.Cindy在A,D,F G等。
我想让它只有项目成员可以访问项目。
现在我不知道如何处理这个问题。
您在数据库设计和会话方面有何建议。
任何资源都将受到赞赏。
答案 0 :(得分:4)
如果您不想使用框架解决方案:
拥有User,Project和UserProject表。
对于用户所在的每个项目,UserProject表将连续包含UserID和Project ID。
创建会话时,您可以从UserProject表中提取以查找允许的项目(例如,将它们放入可在导航显示时搜索的数组中)。
此外,每个项目都可以将用户设置为管理员,可以添加其他用户。
答案 1 :(得分:3)
您可以使用Zend_Acl with Codeigniter,也可以尝试EzAuth
答案 2 :(得分:1)
至于会话存储,我可以推荐memcached。有一个PHP函数,可以让您设置自己的会话处理程序。不要将会话保存到真实数据库中。这会增加不必要的开销。
由于您的帖子缺乏实质性信息,我无法告诉您有关数据库设计的更多信息。因此,我只想说,创建两个表,“用户”和“项目”。 “user”由列ID,名称和电子邮件组成。项目包括列ID,用户ID(如果DBMS支持,则为外键),名称等。