2016-01-22 28 views
0

我正在使用spring-saml 1.0.1 RELEASE。我將屬性supportUnsolicitedResponse添加到了我的SP extendedMetadata中,並將該值設置爲false,但這並未阻止未經請求的IDP響應。是否禁止未經請求的響應正常工作?

在src中的代碼檢查/主/ JAVA /組織/ springframework的/安全/ SAML/websso/WebSSOProfileConsumerImpl.java線130我發現,以檢查此標誌的調用是爲同行擴展元數據...

context.getPeerExtendedMetadata().isSupportUnsolicitedResponse()

不是本地擴展元數據。

這對我來說似乎不正確。在我看來,我正在配置我的SP接受或拒絕未經請求的響應,因此它應該設置在本地擴展的元數據中,代碼應該在那裏看不到對等體。我錯過了什麼嗎?有人可以解釋這是如何工作的嗎?

謝謝。

回答

1

好的,我已經想通了。 Spring-SAML中實現supportUnsolicitedResponse的方式是允許SP爲每個IDP單獨指定它們是否可以發送IDP啓動的SAML響應。這給SP提供了靈活性,允許一些IDP發送IDP發起的SAML響應,而不允許其他人。 SP沒有辦法指定它不接受來自任何IDP的由IDP發起的響應。

此屬性supportUnsolicitedResponse的行爲記錄在表7.2中的spring-SAML文檔http://docs.spring.io/spring-security-saml/docs/1.0.x/reference/html/configuration-metadata.html中。