2015-08-25 57 views
0

我正在學習使用SAML的Spring安全性。我從Spring安全中的代理設置saml

https://github.com/spring-projects/spring-security-saml

我的網絡,我有代理中獲得的例子。所以我很難找到這個解決方案來輸入代理詳細信息。我用下面的securityContext.xml

<bean id="hostConfiguration" class="org.apache.commons.httpclient.HostConfiguration"/> 
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> 
    <property name="targetObject" ref="hostConfiguration"/> 
    <property name="targetMethod" value="setProxy"/> 
    <property name="arguments"> 
     <list> 
      <value>proxyhost.com</value> 
      <value>5555</value> 
     </list> 
    </property> 
</bean> 

但仍然我得到連接拒絕錯誤。

打開連接到idp.ssocircle.com:80
關閉連接。處理請求時,捕獲
I/O異常(java.net.ConnectException):連接被拒絕:連接
連接被拒絕:連接 java.net.ConnectException:連接被拒絕:在java.net.DualStackPlainSocketImpl.waitForConnect連接 (母語法) 在java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85) 在java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)`

請原諒我,如果我的理解是錯誤的,對不起浪費你的時間,如果它是重複的。

回答

0

你可以嘗試添加類似下面的代碼片段到您的配置:

<bean id="metadataManager" class="org.springframework.security.saml.metadata.CachingMetadataManager"> 
    <constructor-arg> 
     <list> 
      <bean class="org.opensaml.saml2.metadata.provider.HTTPMetadataProvider"> 
       <constructor-arg type="java.util.Timer" ref="metadataTimer"/> 
       <constructor-arg type="org.apache.commons.httpclient.HttpClient" ref="samlHttpClient"/> 
       <constructor-arg> 
        <value type="java.lang.String">${saml.idp.url}</value> 
       </constructor-arg> 
       <property name="parserPool" ref="parserPool"/> 
      </bean> 
     </list> 
    </constructor-arg> 
</bean> 

然後,你應該跟你喜歡的任何設置,即代理地址創建samlHttpClient。