jetty osgi:使用一个securityHandler保护所有servlet

时间:2012-09-26 08:00:01

标签: jetty osgi security pax-web

我使用jetty作为与paxweb的osgi包。 我想确保由于OSGI HttpService而注册的所有servlet和资源都由一个公共SecurityHandler保护(而且我想使用JAASLoginService)。 我还想将所有未经身份验证的请求重定向到单个登录页面。

是否可以配置此方案?

2 个答案:

答案 0 :(得分:1)

如果所有Servlet都使用相同的HttpContext,那么它是可能的。 作为具有工作Jaas的运行时容器,我建议使用Apache Karaf。 它提供了所需的一切,包括Pax Web作为HTTPService,包括HttpWhiteboard Extender。

答案 1 :(得分:1)

查看Apache Felix白板HTTP支持。您只需在注册表中注册过滤器,它们就可以被底层Jetty使用:http://felix.apache.org/site/apache-felix-http-service.html

过滤支持过滤器的服务属性:

pattern - Regular expression pattern to register filter with.
contextId - Id of context to register with.
service.ranking - Where in the chain this filter should be placed.
init.* - Filter initialization values.

我自己还没试过,但很快就会......