1
我想實現一個多用戶CMS網站,每個用戶都可以在自己的記錄上執行CRUD操作。這意味着安全應該在記錄級而不是模型級執行。如何實現多個用戶cms?
我拿出2級的解決方案:
- 每個模型有一個
owner_id
場。 - 爲每個用戶爲其修改的模型提供一個數據庫。保留所有相關記錄的主數據庫(如用戶數據(姓名,電子郵件,用戶名,密碼),管理員編輯的模型,但不包括用戶等)。
方案2,我想與Apache的幫助下實現的。例如,我將爲用戶3提供http://user3_website.mydomain.com/,這將成爲主網站www.mydomain.com的單獨網站。我若非符號鏈接的所有目錄從/web/uploads
和/config
:
/config
- 我需要數據庫的配置用戶3/web/uploads
- 我會用他們的上傳。
是否有一個最佳實踐/設計模式與Symfony的實現呢?我從來沒有開發過一個可以根據用戶動態選擇數據庫的網站(解決方案2),所以我想知道這是否合理。
我有Symfony 1.x的經驗,但還沒有在Symfony2上做過任何開發。
如果我使用了很多爲單個用戶設計的第三方軟件/插件,該怎麼辦?在這種情況下,我將不得不擴展所有這些,並添加owner_id,並確保我不會破壞它們。 這就是爲什麼我考慮解決方案2的原因。 您怎麼看? –
對不起,我直到現在才注意到你的評論。在這種情況下,您可能沒有選擇,只能使用解決方案2,擴展或更改第三方軟件和插件可能會很快成爲一個巨大的維護問題。 – h00ligan