SHIBBOLETH SP - 在未配置的位置调用Shibboleth处理程序 - Shibboleth.sso / Session /

时间:2017-07-10 16:54:18

标签: configuration saml-2.0 shibboleth

我正在尝试配置shibboleth。当我转到https://mysite/secure/index.php时,它可以正常运行,我可以进行身份​​验证等等。但是当我转到https://mysite/Shibboleth.sso/Status(或任何其他https://mysite/Shibboleth.sso/ *)时,我收到以下消息:

shibsp::ConfigurationException

The system encountered an error at Mon Jul 10 12:06:32 2017

To report this problem, please contact the site administrator at root@localhost.

Please include the following message in any email:

shibsp::ConfigurationException at (https://mysite/Shibboleth.sso/Session/)

Shibboleth handler invoked at an unconfigured location.

我的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的调试模式但没有找到任何东西。

有什么问题?或者我应该在哪里看?

1 个答案:

答案 0 :(得分:0)

问题实际上与Apache的配置方式有关。它正在重写网址以在每个网址的末尾添加/。所以https://mysite/Shibboleth.sso/Session成了https://mysite/Shibboleth.sso/Session/。它始终是次要的东西!

由于Apache配置对于项目的另一部分是必需的,我更改了Location属性以在末尾添加斜杠并且它完美地工作! HT- Scott Cantor在Users@shibboleth.net邮件列表中!