我正嘗試使用HTML5/Javascript創建多租戶SPA(單頁應用程序)。這個應用程序將調用寧靜的web服務進行數據更新。下面是說明的架構:創建一個由靜態web服務支持的multitenant SPA
這是我的挑戰:
- 身份:一個服務將如何知道,從客戶端來了JS的請求對應於數據庫的特定模式?可能我可以發送「APPID」令牌嗎?但是,最終用戶可以很容易地欺騙這個問題?
- 連接池:如果Tomcat池依賴於連接池,如何確保使用可以訪問APP1模式的「app1」憑證創建的連接在處理來自App1 JS的請求時返回到Web服務?我可能只需創建一個可訪問所有模式的數據庫帳戶,但這可能會成爲合規性問題。
我應該只部署多個Web服務副本嗎?說,app1 JS查詢services.app1.com和app2 JS查詢services.app2.com?這可能會解決上述兩個問題,但我認爲它不再是多租戶解決方案。
感謝羅布,爲您的答案。是否有任何庫實現或容易使用JavaScript/Java組合的Oauth承載令牌? – Jay
如果你想尊重別人的身份驗證(這是通過Facebook或谷歌類型的東西登錄工作)OAuth是非常簡單:http://nat.sakimura.org/2014/12/10/making-a-javascript-openid -connect-client就是一個例子。創建你自己的提供者會更深入一些......你可能想使用OpenAM http://openam.forgerock.org/這樣的包。所有這一切,除非你使用多臺服務器,否則我會真正開始一個普通的舊會話,除非你真的需要複雜性。 –