将JAX-RS保护在捆绑中

时间:2011-04-25 19:06:53

标签: glassfish-3 jax-rs

我正在glassfish中创建一个REST服务(它使用Jersey作为JAX-RS impl。)。我想将我的服务部署为OSGI包,它工作正常,我在清单中添加“Web-ContextPath:”,然后使用带注释的@javax.ws.rs.ApplicationPath应用程序对象。这一切都使服务可用,但后来,我想使用基于容器的安全性。我发现我可以在web.xml中使用安全禁区,然后在sun-web.xml中执行用户到角色的映射。也就是说,OSGI捆绑包也没有。

清单中是否有一组注释和/或参数,我可以指定应用程序角色,安全约束和角色用户映射(我认为后者可以全局配置)?

谢谢!

1 个答案:

答案 0 :(得分:0)

以下是我将如何尝试:

  1. 使用可自动检测具有特定注释的OSGi服务的库,并将其转换为REST资源。对于泽西岛,你可以试试这个:https://github.com/hstaudacher/osgi-jax-rs-connector

  2. 使用OSGi嵌入式应用服务器,如jetty(或tomcat),提供OSGi HTTP服务实现。

  3. 配置Jetty / Tomcat。这应该很容易,因为Jetty / Tomcat捆绑包可以从配置区域中获取配置。

  4. 它还可以节省大量时间来使用Karaf,它可以为您完成所有与包装相关的工作,包括提供嵌入式Jetty和外置配置等功能。但这完全取决于您。