我使用jetty作爲osgi包與paxweb。 我想確保所有註冊感謝OSGI HttpService的servlet和資源都由一個常見的SecurityHandler進行保護(此外我想使用JAASLoginService)。 我也想將所有未經身份驗證的請求重定向到單個登錄頁面。jetty osgi:使用一個securityHandler保護所有servlet
是否可以配置此場景?
我使用jetty作爲osgi包與paxweb。 我想確保所有註冊感謝OSGI HttpService的servlet和資源都由一個常見的SecurityHandler進行保護(此外我想使用JAASLoginService)。 我也想將所有未經身份驗證的請求重定向到單個登錄頁面。jetty osgi:使用一個securityHandler保護所有servlet
是否可以配置此場景?
如果所有的Servlet使用相同的HttpContext,這是可能的。 作爲Jaas的運行時容器,我建議使用Apache Karaf。 它提供了所有必需的功能,包括Pax Web作爲包括HttpWhiteboard Extender的HTTPService。
看看Apache的Felix白板HTTP支持。你可以只登記在註冊表中的過濾器,並使用它們由底層碼頭:所支持的過濾器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.
我沒有迫不及待地想這個自己還沒有,但會.. 。
這將是使用felix而不是pax-web的替代方法,因爲我們有足夠的工具可以選擇最適合他的用戶:D。我嘗試了pax-web(當然);) –
如何強制所有Servlets使用相同的HttpContext? – guillaume
好吧,當使用pax-web的白板擴展器例如[Pax-Web](http://team.ops4j.org/wiki/display/paxweb/Pax+Web)時,一種方法可以是使用相同的HttpContext。 –
它不會避免某人通過使用httpservice.registerservlet – guillaume