我的应用程序包含一个“网关”DataSnap REST服务器,它是所有客户端的第一个访问点。根据客户端在其请求中传递的用户名(基本身份验证),需要将请求重定向到另一个DataSnap服务器。我的问题 - 无论如何构建“网关”服务器,以便它只是根据用户名或HTTP请求标头中的其他值将请求重定向到另一台服务器?我试图避免重复“网关”服务中的所有服务器方法,即我不想将2个请求“链接”在一起,但不知何故只有1个请求被重定向。
不确定这是否可行,但是认为有人可能证明我错了?我正在使用Delphi XE2,而DataSnap服务器是Windows服务。
答案 0 :(得分:2)
我可以在这里看到两个选项:
或
答案 1 :(得分:0)
简短版本:解决方案将取决于您知道将请求定位到哪个级别(HTTP,DataSnap,介于两者之间)。
如果您可以在DataSnap级别做出决定,有两种解决方案:
另一种方法是在HTTP级别。只有在可以在HTTP级别确定请求应该移交给哪个目标服务器时,这才有效。