2016-10-11 122 views
0

注意:我昨天發佈了相同的問題,但具有不同的解釋,現在我正在編輯它並嘗試從不同的解釋中解釋我的觀點方面。如何驗證多租戶網站中的用戶,當每個租戶在laravel中有多個用戶時

我試圖實現多租戶網站的認證過程,我們將有不同的公司註冊例如:公司1,公司2等,每個公司將有多個用戶,如公司1將有User1,用戶2等等。

在這裏,由於一些強烈的原因,我爲每家公司使用單獨的數據庫。我希望用戶訪問該網站,只需要驗證自己而不使用任何單獨的域。每個公司會有不同的域名(例如company1.mysite.com),但是用戶在登錄後將被重定向到他的域名。

所以,我的問題是,如何在登錄時從他各自的數據庫驗證每個用戶?

謝謝

回答

0

在這一天結束時,你根本無法ping通所有的DB獲取用戶和希望的匹配。然而,我會推薦以下內容:

保存用戶及其各自公司數據庫的特殊映射數據庫。爲了增加安全性,您可以將電子郵件視爲密碼,將加密版本存儲爲預定義的salt,並在用戶輸入電子郵件進行登錄時,使用兩個加密的電子郵件地址對映射DB進行查找。你需要小心保持這個數據庫同步。如果你的數據庫在同一臺服務器上,我可能會建議插入和更新觸發器。

在成功驗證其公司數據庫的過程中,您希望將數據庫名稱存儲在用戶會話中,以防止對映射數據庫進行持續查找。成功驗證後,您可以使用子域映射到數據庫。