我们的应用程序由多个OSGi包组成,它们通过RESTful URI公开它们的功能。保护这些URI的最佳方法是什么,以便只有登录和授权用户才能访问它们?对于普通的Web应用程序,我使用了一个Web过滤器来控制对所有这些URI的访问。对于OSGi中的所有这些URI,我是否可以使用一个安全过滤器(或其等效物)来保护访问权限?或者,我是否需要在每个OSGi包中包含安全过滤器?我们使用的容器是Apache Karaf,如果重要的话。
答案 0 :(得分:4)
Apache Felix Http Jetty服务包括过滤设施。最简单的方法是安装Apache Felix Http Whiteboard软件包,然后注册过滤服务......
不幸的是,这还不在OSGi规范中,但很可能成为下一轮规范的一部分。我已经使用这个模型确切地说你的安全类型已经有6个月了,它就像一个魅力。
答案 1 :(得分:2)
支持此功能的另一个白板扩展器是Pax-Web。 但不仅是白板,也与std一起使用。 OSGi http-service它支持过滤器和JSP。从2.0版开始,它还支持servlet 3.0 anotations。 下一个即将推出的Pax-Web版本也将仅支持没有web.xml的Jar中带注释的Servlet。 有关详细信息,请查看http://team.ops4j.org/wiki/display/paxweb/Pax+Web