2011-06-15 66 views
1

我在基於osgi的web服務應用程序中使用Servicemix 4.2。 我的web服務應用程序使用隨Servicemix提供的CXF堆棧公開。在Servicemix中添加cutom JAAS登錄模塊時出現問題

現在我們必須將應用程序與單獨開發的Authentication api集成。第三方API使用JAAS作爲鑑別的手段。

我在應用程序包中嵌入了第三方jar。我使用export-package指令導出了LoginModule實現類。

當我嘗試使用第三方提供的JAAS模塊,它給了錯誤 無法創建配置的LoginModule

第三方JAAS提供發現使用該系統的jaas.config文件的位置登錄Context.No的LoginModule屬性 java.security.auth.login.config 的jaas.config文件的內容是如下需要

的LoginModule { com.altair.aaservice.windowsauthn.hwec.WindowsAuthentication; };

做谷歌搜索後,我發現,ServiceMix的開箱即提供了JAAS 阿帕奇菲利克斯Karaf :: JAAS模塊(1.4.0) 阿帕奇菲利克斯Karaf :: JAAS配置(1.4.0)

2分System束

你需要修改etc/users.properties文件和一些其他的東西來實現jaas。但是,由於我們需要與第三方jaas供應商整合,我無法看到這些方式。另外,隨servicemix提供的大多數文檔都堅持要使用servicemix方法來實現jaas,因此我找不到任何解決方案。

我手動卸載兩個系統捆綁,在那之後我得到了以下錯誤 javax.security.auth.login.LoginException:無法找到的LoginModule類:com.altair.aaservice.windowsauthn.hwec.WindowsAuthentication不是從包中發現[org.apache.cxf.bundle]

由於我的web服務基於CXF,因此它可能正在尋找此捆綁包。

是否有任何方便的方法將servicemix與自定義jaas實現集成。請告訴我們是否有任何問題。

回答

0

有一個編寫自定義JAAS LoginModule here的示例。