2013-02-11 3 views
1

Извините меня за этот очень нубийский вопрос.CXF, Blueprint, OSGI: Защита моих веб-сервисов

В настоящее время у меня есть несколько веб-сервисов RESTful/SOAP, работающих на CXF. (Три из них на самом деле) Вот пример

<blueprint ...> 
<reference id="myWebServiceRef" 
    interface="com.keeboi.samples.MyWebService" /> 
<jaxrs:server address="/my-web-service" id="myWebService"> 
    <jaxrs:serviceBeans> 
    <ref component-id="myWebServiceImpl" /> 
    </jaxrs:serviceBeans> 
</jaxrs:server> 
<bean id="myWebServiceImpl" 
    class="com.keeboi.samples.MyWebServiceImpl"> 
    <property name="myWebService" ref="myWebServiceRef" /> 
</bean> 
</blueprint> 

И доступ к ним с помощью Ajax звонки

$.ajax({ 
    url : ws_url + id, 
    type : "GET", 
    dataType : 'text', 
}).done(function(data) { 
    // Magic happens 
}); 

То, что я хотел бы для этих веб-сервисов, чтобы быть недоступными для запросов, сделанных пользователями, как они используются внутренне. Как защитить эти веб-сервисы?

Добавление:

<jaxrs:properties> 
    <entry key="org.apache.cxf.endpoint.private" value="true" /> 
</jaxrs:properties> 

делает их частные, но недоступны для моих Ajax запросов ... Очевидно, я-то здесь отсутствует. Может ли кто-нибудь указать мне правильное направление?

ответ

0

Я не уверен в части ajax. Но попытаться ответить на CxF безопасностью, часть

В конфигурации Blueprint добавьте ниже конфигурации:

<httpj:engine-factory bus="cxf"> 
<httpj:engine port="9081"> 
<httpj:tlsServerParameters> 
    <sec:keyManagers keyPassword="skpass"> 
     <sec:keyStore type="JKS" password="sspass" 
      resource="keystore/serviceKeystore.jks"/> 
    </sec:keyManagers> 
    <sec:trustManagers> 
     <sec:keyStore type="JKS" password="sspass" 
      resource="keystore/serviceKeystore.jks"/> 
    </sec:trustManagers> 
    <sec:cipherSuitesFilter> 
    <sec:include>.*_EXPORT_.*</sec:include> 
    <sec:include>.*_EXPORT1024_.*</sec:include> 
    <sec:include>.*_WITH_DES_.*</sec:include> 
    <sec:include>.*_WITH_AES_.*</sec:include> 
    <sec:include>.*_WITH_NULL_.*</sec:include> 
    <sec:exclude>.*_DH_anon_.*</sec:exclude> 
    </sec:cipherSuitesFilter> 
    <sec:clientAuthentication want="false" required="false"/> 
</httpj:tlsServerParameters> 

Вы можете обратиться [Настройка SSL] для получения дополнительной информации 1

Смежные вопросы