我正尝试使用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/这样的包。所有这一切,除非你使用多台服务器,否则我会真正开始一个普通的旧会话,除非你真的需要复杂性。 –