[英]How to set up a schema for users to authorize access to certain information?
我有一個社交應用程序,其中有一個user_profile
表,其中包含典型的標准字段,例如
user_id (unique)
name
我想允許用戶在彼此之間共享保存在名為info
的單獨表中的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的記錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.