2013-08-03 56 views
1

我在PHP中創建某種「待辦事項列表」應用程序。現在我想實現用戶之間共享任務的功能,這些任務基本上都是文件夾。你能給我一些想法嗎?我如何才能訪問文件夾,僅限於某些用戶。我想使用數據庫,但目前我沒有想法。在用戶之間共享文件夾的算法

+0

爲什麼不使用數據庫?你想使用真正的文件夾? – putvande

+1

請使用數據庫,使用這個文件夾是一個可怕的想法。 –

回答

0

爲什麼不把所有數據存儲在MySQL數據庫中?在那裏委派訪問規則會容易得多。

在其他人可以允許通過PHP腳本訪問這個文件夾,並在這個PHP腳本中檢查用戶是否有足夠的權限訪問該文件夾。

你的問題在這個公式中非常模糊。

+0

這也是我的想法,但事情是,用戶可以創建一個任務,然後他可以授予其他用戶訪問此任務的權限,現在兩個用戶可以訪問此任務。這就是我的問題所在。我不知道如何實現一個用戶可以授予其他用戶訪問權限的功能。 – Alen

1

使用數據庫,允許原始任務所有者爲其他用戶分配任務。作爲基本的示例,可以使用任務ID字段創建一個'task_group'表。這基本上會導致每個任務在數據庫中擁有自己的組。然後用task_group_id字段和user_id字段創建一個'task_group_users'表。然後檢查這個表,看用戶是否是用戶id的task_group的一部分。任務所有者可以通過將用戶標識添加到task_group_users來將用戶添加到組中。

通過在task_group表中添加組名字段和權限級別字段,可以進一步擴展此示例以支持每個任務的多個組。

這可以用於實際系統文件夾的後端,但我不會使用實際的系統組。這可能會導致安全問題並最終受到限制。

+0

謝謝。我有類似的想法,但數據庫較少。所以我用user_id字段創建'users'表,然後用'task_id'字段創建'tasks'表。然後,我創建了第三個表'users_tasks',用於存儲user_id和task_id。這是mysql規範化,所以每個用戶可以有更多的任務,一個任務可以分配給多個用戶。這是一個好方法嗎? – Alen

+1

對不起,我的意思是表格不是數據庫。一個包含用戶表,任務表,task_group表和task_group_user表的數據庫。我很肯定這將是最好的規範形式,特別是如果您最終可能每個任務有多個組,比如編輯組,開發人員組,管理員等。 – JSON