首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HttpService :保护所有HttpService

HttpService :保护所有HttpService
EN

Stack Overflow用户
提问于 2012-09-19 15:59:31
回答 3查看 737关注 0票数 2

多亏了HttpService,我正在开发servlet并将它们注册到我的OSGI容器中。我的目标是保护在我的OSGI容器中注册的所有servlet。我看到我可以用自己的handleSecurity方法实现向HttpContext注册我的Servlet来处理我的安全性。

但我考虑的是捆绑包使用缺省HttpContext注册servlet的情况(with表示没有安全性)。

所以我的问题是,有没有办法一劳永逸地强制我的OSGI容器中部署的所有servlet的安全性?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-09-21 15:03:49

我将使用Service hook特性(OSGI4.3)来覆盖HttpService.registerServlet的行为。在我的钩子中,我将强制使用我的HttContext实现。

使用此解决方案,我的HttpContext实现将保护任何向HttpService注册servlet的捆绑包。

票数 3
EN

Stack Overflow用户

发布于 2012-09-20 21:10:20

简短的回答是不支持使用HttpService。

更长的答案是,如果你使用OSGi规范还没有提供的whiteboard-extender,你可能会得到类似这样的结果,但是felix和pax-web确实提供了它。在使用白板扩展器时,您可以结合对HttpContext的引用(as属性)注册您的servlet。当然,这个HttpContext也需要是一个“定制”的,但您只需要注册一次,就可以从您的Servlets中引用它。这可能是你最接近你的问题了。

票数 3
EN

Stack Overflow用户

发布于 2013-09-19 14:41:11

如果您使用Apache Felix白板扩展器,您可以注册一个Servlet过滤器,这是一种更好的处理安全性的方法,因为它很容易支持不同的策略。其目的是在Http服务的下一次更新中支持过滤器和白板:https://github.com/osgi/design/tree/master/rfcs/rfc0189

您可以按照建议使用钩子,但请不要这样做。钩子是为深度中间件设计的,而不是面向应用程序的方面。它们产生了开始/停止排序的问题,它们使系统对调试工具更加不透明,简而言之,它们使您的系统更加复杂。如果您开始将钩子用于这些目的,您将发现更多的用例,它们将开始交互。远离它们,除非是非常核心的系统中间件。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12490644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档