2012-04-02 42 views
3

在我们想呈现/限制基于角色我们的API的不同部分我们泽西应用。具体而言,我们只想提供该角色可以访问的资源的链接 - 即在准备响应时已经提供的链接A如果用户不允许使用X,我们甚至不会提供到资源X的链接。解决什么资源+方法的URI将匹配在泽西

为了能够区分那些我们希望能够问新泽西链接将如何解决特定URI - 即哪些资源以及对资源的什么方法。如果我们能做到这一点,我们也能够检测它是否以不允许访问的方式(@RolesAllowed)进行注释......因此,我们可以跳过添加链接到响应中的链接。显然泽西有这方面的知识/能力,因为它可以解决传入的请求。

现在的问题是:有没有一种方法来问泽西什么样的URI将解决类和方法?

编辑:是的......我们注意到有一个ResourceContext(可注射),它可以为我们提供匹配的资源类......但我们仍然不能找到一个URI会解决什么方法。

回答

0

有趣。我不认为这是暴露默认服务,但假设您正在设置在web.xml球衣配置存储在WebServletConfig和ServletContainer。我会看看这两个课程的来源,看看有什么可用的。至少你应该能够在栈中进行子类的初始化并存储你自己需要的信息。在类加载和注释处理发生时获取映射而不是为每个请求查找映射会更加实际。