0

我正在尝试不同的方式来实现多租户 AppEngine Web RESTful 界面。其中之一是使用部分 URL 作为租户名称。问题是我正在使用 Jersey 作为 RESTful 接口的 JAX-RS 实现,我希望首先将诸如 /tenant1/res1 之类的 url 解析为 / tenant1部分,将命名空间设置为tenant1,然后将 URL 的其余部分传递给 Jerseys 的 servlet 进行常规处理。

可能是 ServletFilter 或 Servlet 或我想不到的东西

我怎样才能实现这样的事情?这种实施可能出现的问题是什么?

谢谢你,伊多。

4

1 回答 1

2

我正是这样做的,但使用的是 Restlet。命名空间唯一标识用户所属的客户。

第一个 URL 片段包含命名空间。我在 RESTLET 身份验证器(基本上是一个过滤器)中验证名称空间,当经过身份验证的用户不属于给定的名称空间/客户时,我拒绝继续。

我使用客户的主键作为命名空间。这还有一个额外的好处,即可以轻松(mem-)缓存有效的命名空间/客户,并且我拒绝任何包含无效命名空间的调用。

对此设置非常满意,并且没有遇到任何问题。

于 2012-06-11T15:03:02.167 回答