2012-06-11 51 views
0

我正在尝试实现多租户AppEngine Web RESTful界面的不同方式。 其中之一是使用部分URL作为租户名称。 问题是我使用Jersey作为RESTful接口的JAX-RS实现,并且我想要一个url,例如/ tenant1/res1首先被解析将采用/ tenant1部分,将名称空间设置为tenant1,然后将其余的URL传递给Jerseys的servlet进行定期处理。使用URL部分来创建多租户AppEngine应用程序

东西可能是ServletFilter或Servlet或我无法想象的东西。

我该如何实现这样的事情? 这种实现有什么可能的问题?

谢谢, 伊多。

回答

2

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

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

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

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