在Servicemix中添加自定义JAAS登录模块时出现问题

时间:2011-06-15 06:31:26

标签: cxf jaas apache-servicemix

我在基于osgi的webservice应用程序中使用Servicemix 4.2。 我的Web服务应用程序使用随Servicemix提供的CXF堆栈公开。

现在我们必须将应用程序与单独开发的Authentication api集成。第三方api使用JAAS作为验证的手段。

我在应用程序包中嵌入了第三方jar。我使用export-package指令导出了LoginModule实现类。

当我尝试使用第三方提供的jaas模块时,它给出了错误 无法创建登录Context.No为LoginModule配置的LoginModule

第三方jaas提供程序使用系统属性查找jaas.config文件的位置 java.security.auth.login.config jaas.config文件的内容如下

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

在进行谷歌搜索后,我发现servicemix开箱即用,为jaas提供了两个系统包 Apache Felix Karaf :: JAAS模块(1.4.0) Apache Felix Karaf :: JAAS Config(1.4.0)

您需要修改etc / users.properties文件和其他一些实现jaas的东西。但是,由于我们需要与第三方jaas提供商集成,我无法研究这些方式。此外,servicemix提供的大多数文档都坚持使用servicemix方法来实现jaas,因此我找不到任何解决方案的成功。

我手动卸载了两个系统捆绑包,之后出现了以下错误 javax.security.auth.login.LoginException:无法找到LoginModule类:com.altair.aaservice.windowsauthn.hwec.WindowsAuthentication无法从bundle找到[org.apache.cxf.bundle]

由于我的网络服务基于CXF,因此可能正在查看此捆绑包。

是否有任何方便的方法将servicemix与自定义jaas实现集成。请告诉我们是否有。

1 个答案:

答案 0 :(得分:0)

有一个编写自定义JAAS LoginModule here的例子。