[英]Multi Tenancy Multiple Client Multiple Database, One Source Code - PHP
我的任務是創建一個現有的多租戶項目,因為該應用程序有很多客戶,所以我們決定這樣做。
我們已經合並了源代碼以與任何數據庫一起使用,所有客戶端的所有源代碼都是相同的。
現在,較早的數據庫連接是通過使用每個腳本中包含的一個配置文件進行的。
但是,正如您所知,源現在有多個數據庫不同的客戶端,因此我們被困於用客戶端管理數據庫。
最初,
http:// localhost / workspace / client / ->這是給客戶端的URL,現在我使用htaccess將其重定向到index.php並基於client /我知道此程序包將使用哪個客戶端。
有不同的客戶端, http:// localhost / workspace / clien1 / http:// localhost / workspace / clien2 / http:// localhost / workspace / client3 /
等等..
現在,在index.php頁面中重定向到login.php,但是未根據客戶端為DB設置配置。
如果有人處理過,請幫助我。
提前致謝。
在建議的設置中,數據庫連接參數(服務器地址,數據庫用戶名/密碼和數據庫名稱)是用戶或客戶(用戶的組織)的屬性。
我猜您將通過在公用數據庫中查找用戶,然后使用password_verify()
驗證密碼來驗證用戶身份,當您知道自己有有效的用戶時,可以
確保您放置的cookie不包含嵌入其中的數據庫參數,否則網絡罪犯將找出如何更改cookie以獲得未經授權的訪問。
但是, 專業提示:眾所周知,為每個客戶創建新數據庫都是不可擴展的。 如果發生什么情況
多租戶在線應用程序的一個好習慣是將客戶ID或用戶ID值放在每個數據記錄上,並使用WHERE customer_id = ?
類的查詢子句WHERE customer_id = ?
(當前客戶)以按用戶分隔數據用戶。
希望現在重新考慮使用多個數據庫的設計決定還為時不晚。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.