gpt4 book ai didi

php - 多级用户权限的数据库设置

转载 作者:行者123 更新时间:2023-11-29 21:41:52 25 4
gpt4 key购买 nike

我正在寻找为具有多级用户权限的用户创建一个数据库,但我不知道如何执行此操作。我的意思是我希望企业的经理能够购买我的产品;该人将被授予所有者权利,但也能够在该许可证下授予其他用户 - 这些人将被授予经理或用户权利。每个级别(以及我的级别:管理员和我的员工: super 用户)显然都拥有个人权利/特权)。

更具体地说,我要问的是如何设置数据库。例如,如果我的业务是公司日历/组织者,则所有者将设置部门,每个部门都有一名经理和许多用户。构建数据库的最佳且最有效的方法是什么?例如,每个用户(以及每个日历条目)是否都必须与属于该特定所有者帐户的 ID 相关联?我只是有点不知道组织数据库以将所有内容保持在一起的最佳方式是什么,因为我将有多个不同的所有者,并且在他们下面有自己的公司结构。

我想使用 MySQL 和 PHP。

我试图让这尽可能合乎逻辑。我认为我把它弄得太难了,但我确信有一个标准可以让它变得更容易......提前致谢。

最佳答案

至少每个产品/对象在其表中都需要一个foreign_key,例如用户的id。这是必要的,它设置产品/对象与用户的关系。

然后这取决于您希望系统变得多么复杂。一种简单的方法是在用户表中使用 bool 列,例如管理员列、编辑器列等,仅使用 truefalse 作为值。然后,您可以在代码中使用 ifcase 来检查用户是否是管理员并向他显示您的应用程序的某些部分。例如删除链接。但您也可以将更新和删除限制为用户在足够列中具有 true 值的人员。

更复杂的路由将包括表中的其他 id 字段,这些字段设置某些内容与其他内容的关系。例如,您希望用户成为卖家或买家,那么您可以将 seller_id 和 Buyer_id 列添加到产品表中,并检查 ids 是否与 user_id 相对应。但不是“the”user_id,而是您在用户创建产品列表时保存的不同 user_id。这样你就可以保证,除了你的员工之外,创建这个东西的用户也有权编辑它,因为当他登录到你的系统时,产品的 user_id 与他的 user_id (当前用户)相同。

您可以建立更复杂的关系,但随后您必须创建另一个表并在其中保存其他 id,这些 id 将某些用户与其他用户相关联。在此表中,您保存了一个maintainer_id和一个maintained_id,它们都具有某些user_ids的值,但这样您就可以在一个用户可以更改的对象之间建立关系,尽管它们属于其他人。或者,如果您正在谈论客户,那么 mainter_id 将被允许向那些具有 Maintenance_id 的人写入消息,就像某人是卖家而其他人是潜在买家一样。

关于php - 多级用户权限的数据库设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34427004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com