有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

javascript创建由restful web服务支持的多租户SPA

我正在尝试使用HTML5/Javascript创建一个多租户SPA(单页应用程序)。此应用程序将调用restful Web服务进行数据更新。下面是对架构的说明:enter image description here

这些是我面临的挑战:

  • 标识:服务如何知道来自客户端JS的请求对应于数据库中的特定模式?我可以发送一个“APPID”令牌吗?但是,这很容易被最终用户欺骗
  • 连接池:如果连接池依赖于tomcat池,那么当Web服务处理来自app1 JS的请求时,如何确保使用“app1”凭据创建的连接(该凭据可以访问app1架构)返回到Web服务?我可以创建一个可以访问所有模式的数据库帐户,但这可能会成为法规遵从性问题

我应该部署多个Web服务副本吗?比如说,App1JS查询服务。附件一。com和app2 JS查询服务。附件2。通用域名格式?这可能会解决上述两个问题,但我认为它不再是多租户解决方案


共 (1) 个答案

  1. # 1 楼答案

    这通常由经过身份验证的令牌完成。这通常由标准会话cookie(由您正在使用的任何应用程序服务器实现)或在每次调用时得到验证的不太有状态的东西(如OAuth bearer token)来处理。这最终是相同的解决方案,一个使用cookie(通过HTTP头实现),另一个使用Auth HTTP头。不管怎样,基本上每个用户都会得到一个神奇的字符串,它在每次调用时都会被验证为属于一组特定的凭证

    它在理论上与您的“APPID”非常相似,不同之处在于标记是不透明的,并且很可能由于其长度和复杂性(在宇宙热死之前)而无法使用,因此是有效安全的。区别在于您在服务器端而不是客户端持有令牌和哪个“APPID”之间的绑定