Karaf 容器、Rest WS 和 Spring 安全性

Posted

技术标签:

【中文标题】Karaf 容器、Rest WS 和 Spring 安全性【英文标题】:Karaf container, Rest WS and Spring security 【发布时间】:2013-01-20 15:26:22 【问题描述】:

我正在尝试将安全性(例如基本身份验证)应用到我的 Rest-WS。 这些 WS 通过 DOSGi 在 Karaf 容器中发布。

<!--
    Register VCPENetworkManager as OSGi Service
  -->       
<bean id="vcpeNetworkManager" class="org.opennaas.extensions.vcpe.manager.VCPENetworkManager"/>
<service ref="vcpeNetworkManager" interface="org.opennaas.extensions.vcpe.manager.IVCPENetworkManager">
    <service-properties>
        <!-- Rest -->   
        <entry key="service.exported.interfaces" value="*"/>
        <entry key="service.exported.configs" value="org.apache.cxf.rs"/>
        <entry key="service.exported.intents" value="HTTP"/>        
        <entry key="org.apache.cxf.ws.address" value="$ws.rest.url/vcpenetwork"/>  
    </service-properties>
</service>

我需要帮助,为什么我不知道发布 ws 的包中添加了哪些依赖项,或者如何或在何处包含 spring 的配置文件。我一直在使用应用程序服务器。

谢谢,

【问题讨论】:

Spring Security 有非常好的文档。你可以从这里开始依赖 static.springsource.org/spring-security/site/docs/3.2.x/… ,从这里开始配置:static.springsource.org/spring-security/site/docs/3.2.x/… 是的,我之前在典型的 webb 应用程序中使用过 spring,但我的问题是如何在 osgi 容器中配置它。 对不起,我完全错过了 OSGi 环境。 如何在 Karaf 中将应用程序部署为 WAB? 不,我有一个包含一个接口及其实现和 Rest 注释的包。当我注册服务时,我使用 DOSGi 属性注册服务(参见上一条评论中的代码)。 【参考方案1】:

如果您将 CXF 用于 DOSGi,我建议将它与 Blueprint 一起使用,它是一种类似于 Spring 的 XML 语法,并且在 OSGi 环境中效果最好。

【讨论】:

以上是关于Karaf 容器、Rest WS 和 Spring 安全性的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Karaf 的容器初始化期间记录 Blueprint (Aries) 创建的对象的初始化?

无法从 Karaf 2.2.0 OSGi 容器中的根上下文运行 WAR

如何使用 maven 项目轻松部署到 Karaf Osgi 容器

OSGi 容器 - Equinox 与 Apache Karaf 中的 Apache Felix

osgi+camel+karaf运行环境搭建

关于Karaf Container 4.0.7