2017-09-07 1 views
3

저는 Fuse와 WebServices에서 상대적으로 새로운 것 같습니다. 나는 BasicAuthAuthorizationInterceptor와 SOAP WebService를했다 , 이것은 실제 상황이며 일하고있어 :웹 서비스 용 Apache CXF Blueprint에서 속성 파일을 호출하여 사용자와 암호를 인스턴스화 할 수 있습니까?

<cxf:cxfEndpoint address="/SampleEp" id="insertSomethingToDB" serviceClass="com.example.sample_ep.SampleEp" wsdlURL="wsdl/SampleEP.wsdl"> 
    <cxf:inInterceptors> 
     <ref component-id="securityInterceptor"/> 
    </cxf:inInterceptors> 
</cxf:cxfEndpoint> 

<bean 
    class="com.example.middleware.BasicAuthAuthorizationInterceptor" id="securityInterceptor"> 
    <property name="users"> 
     <map> 
      <entry key="user" value="password"/> 
     </map> 
    </property> 
</bean> 

그래서 더 보안을 추가, 나는 속성에서 사용자를 넣어 노력하겠습니다 프로젝트 외부 파일이 아이디어입니다 :

<cxf:cxfEndpoint address="/SampleEp" id="insertSomethingToDB" serviceClass="com.example.sample_ep.SampleEp" wsdlURL="wsdl/SampleEP.wsdl"> 
    <cxf:inInterceptors> 
     <ref component-id="securityInterceptor"/> 
    </cxf:inInterceptors> 
</cxf:cxfEndpoint> 

<bean 
    class="com.example.middleware.BasicAuthAuthorizationInterceptor" id="securityInterceptor"> 
    <property name="users"> 
     <map> 
      <entry key="${cxf.user}" value="${cxf.password}"/> 
     </map> 
    </property> 
</bean> 

<bean> add some code to add a *.properties file outside the project </bean> 

가능한가요? 아니면 정말 안좋은가요?

모두에게 감사드립니다.

+0

blueprint.xml 또는 spring.xml 파일을 사용하고 있습니까? – Namphibian

+0

Blueprint.xml 컨텍스트 –

답변

1

좋아, 나는 Jasypt, JAAS 물건 몇 가지를 시도하고 솔루션을 얻을 :

<ext:property-placeholder> 
    <ext:location>file:/this/is/your/path/to/your/propertie/file/cxf.properties 
    </ext:location> 
</ext:property-placeholder> 

<cxf:cxfEndpoint address="/SampleEp" id="insertSomethingToDB" 
    serviceClass="com.example.sample_ep.SampleEp" wsdlURL="wsdl/SampleEP.wsdl"> 
    <cxf:inInterceptors> 
     <ref component-id="securityInterceptor" /> 
    </cxf:inInterceptors> 
</cxf:cxfEndpoint> 

<bean class="com.example.middleware.BasicAuthAuthorizationInterceptor" 
    id="securityInterceptor"> 
    <property name="users"> 
     <map> 
      <entry key="${cxf.user}" value="${cxf.password}" /> 
     </map> 
    </property> 
</bean> 
그냥 만 청사진 헤더에 추가

:

xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0" 

봐라, 그것은 함께 일하고있어 프로젝트 외부에서 사용자/패스 검증을 보안합니다 : D

#cxf.properties 
cxf.user=administrator 
cxf.password=password 
+0

을 사용하고 있습니다. – Namphibian

관련 문제