SHIBBOLETH SP - 在未配置位置呼叫的 Shibboleth 處理程序 - Shibboleth.sso/Session/
我正在嘗試配置 shibboleth。當我去 時
https://mysite/secure/index.php
,它可以正常工作,我可以進行身份驗證等,但是當我去https://mysite/Shibboleth.sso/Status
(或任何其他地方https://mysite/Shibboleth.sso/*
)時,我會收到以下消息:shibsp::ConfigurationException
系統在 Mon Jul 10 12:06:32 2017 遇到錯誤
要報告此問題,請通過 root@localhost 聯繫站點管理員。
請在任何電子郵件中包含以下資訊:
https://mysite/Shibboleth.sso/Session/
( )處的 shibsp::ConfigurationException在未配置的位置呼叫 Shibboleth 處理程序。
我的 shibboleth2.xml 如下(為簡潔起見刪除了註釋):
<SPConfig xmlns="urn:mace:shibboleth:2.0:native:sp:config" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" clockSkew="1800"> <ApplicationDefaults entityID="https://mysite/shibboleth" REMOTE_USER="eppn"> <Sessions lifetime="28800" timeout="3600" checkAddress="false" relayState="ss:mem" handlerSSL="true" cookieProps="https"> <SSO entityID="https://idp.testshib.org/idp/shibboleth"> SAML2 SAML1 </SSO> <Logout>SAML2 Local</Logout> <Handler type="MetadataGenerator" Location="/Metadata" signing="false"/> <Handler type="Status" Location="/Status" acl="127.0.0.1 ::1"/> <Handler type="Session" Location="/Session" showAttributeValues="true"/> <Handler type="DiscoveryFeed" Location="/DiscoFeed"/> </Sessions> <Errors supportContact="root@localhost" logoLocation="/shibboleth-sp/logo.jpg" styleSheet="/shibboleth-sp/main.css"/> <MetadataProvider type="XML" uri="http://www.testshib.org/metadata/testshib-providers.xml" backingFilePath="testshib-two-idp-metadata.xml" reloadInterval="180000" /> <AttributeExtractor type="XML" validate="true" path="attribute-map.xml"/> <AttributeResolver type="Query" subjectMatch="true"/> <AttributeFilter type="XML" validate="true" path="attribute-policy.xml"/> <CredentialResolver type="File" key="my_key" certificate="my_cert" extractNames="false"/> </ApplicationDefaults> <SecurityPolicyProvider type="XML" validate="true" path="security-policy.xml"/> <ProtocolProvider type="XML" validate="true" reloadChanges="false" path="protocols.xml"/> </SPConfig>
我檢查了我能找到的每一個配置文件,我能想到的每一個設置。我打開了 native.logger 和 shibd.logger 的調試模式,但沒有找到任何東西。
怎麼了?或者我應該去哪裡看?
找到了答案:
問題實際上在於 Apache 的配置方式。它正在重寫 url 以在每個 url 的末尾添加 / 。就這樣
https://mysite/Shibboleth.sso/Session
變成了https://mysite/Shibboleth.sso/Session/
。永遠都是小事!由於項目的另一部分需要 Apache 配置,因此我更改了 Location 屬性以在末尾添加一個斜杠,它執行良好!HT- Scott Cantor 在 Users@shibboleth.net 郵件列表上!