2012-06-11 80 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-)緩存,並且我拒絕任何包含無效命名空間的調用。

對此設置非常滿意,並且沒有遇到任何問題。