我有一個社會的應用程序,有一個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函數進行編碼以檢查在訪問授權我查看信息的人的個人資料時是否會看到按鈕。
關於模式/代碼的任何建議?