我有一个社交应用程序,它有一个包含典型标准字段的 user_profile
表,例如
user_id (unique)
name
我想让用户共享保存在名为 info
的单独表中的信息,该表包含以下字段:
user_id_fk
agent_name
agent_phone
agent_address
所以我的想法是,如果我是用户 #1 而你是用户 #6 - 我可以授权你查看我的 info
表中的数据。然后,当您查看我的个人资料时,一个 PHP 函数会检查您是否获得授权,并显示一个链接到包含我的信息的页面的按钮。
我的问题是:实现这个的最佳方法是什么?
我想到了一些解决方案,但想听听您的意见:
[1] 在 user_profile
中创建一个名为 info_access
的新字段,它将包含一个逗号分隔的字符串,其中包含所有授权访问的用户。明显的缺点是此类字符串的局限性(例如,如果对信息的访问被撤销、未规范化等,则很难删除 user_id)
3,23,14,12,11
[2] 创建一个名为 info_access
的新表,如下所示:
user_id_fk can_access
6 3
6 23
6 14
6 12
6 11
在这种情况下,我会查询为
select * from info_access where user_id_fk = 6
但我不确定如何编写 PHP 函数代码来检查我在访问授权我查看信息的人的个人资料时是否会看到该按钮。
对架构/代码有什么建议吗?
最佳答案
第二种方法是解决您的问题的最佳方法。然后可以查询info_access表,查看info_access表中是否存在收看资料的用户id和查看者的用户id的记录。
关于php - 如何为用户设置架构以授权访问某些信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7493930/