Shibboleth 返回 url 在子目录中不起作用?

Shibboleth 返回 url 在子目录中不起作用?

这是我们第一次尝试安装 Shibboleth,当在顶级域名上为网站应用单点登录时,一切都运行正常,但在子目录下则不行。

以下是我们运行良好的 Apache 虚拟主机配置文件:

  <VirtualHost *:443>

    ... some other settings
    <Location />
        AuthType shibboleth
        Require shibboleth
        ShibRequireSession On
        Order allow,deny
        Allow from all
    </Location>

</VirtualHost>

通过此配置,我们可以执行以下操作:

场景 A

  1. https://myawesomewebsite.com/secure我的网络浏览器中
  2. 我的网络浏览器将我重定向到我的单点登录服务https://somesinglesignon.com/authenticate
  3. 我输入我的用户名和密码并按https://somesinglesignon.com/authenticate提交
  4. 服务器将我送回https://myawesomewebsite.com/secure

以上一切都运行良好。

现在我要修改我的虚拟主机文件,使其变为<Location /><Location /secure>所以我的虚拟主机文件现在如下所示:

<VirtualHost *:443>

    ... some other settings
    <Location /secure>
        AuthType shibboleth
        Require shibboleth
        ShibRequireSession On
        Order allow,deny
        Allow from all
    </Location>

</VirtualHost>

现在,当我尝试重复步骤 1 到 4 时,我得到的却是以下内容:

场景 B

  1. https://myawesomewebsite.com/secure我的网络浏览器中
  2. 我的网络浏览器将我重定向到我的单点登录服务https://somesinglesignon.com/authenticate
  3. 我输入我的用户名和密码并按https://somesinglesignon.com/authenticate提交
  4. 服务器将我送回https://myawesomewebsite.com/Shibboleth.sso/SAML2/POST

为什么场景 A 的步骤 4 与场景 B 的步骤 4 不同?如何使 A.4 与 B.4 相同?

答案1

请尝试以下操作:

    <Location />
            AuthType shibboleth
            require shibboleth

            Order allow,deny
            Allow from all
    </Location>

    <Location /secure>
            AuthType shibboleth
            ShibRequireSession On
            ShibUseHeaders On
            require valid-user
    </Location>

#<Location /secure>
#    AuthType shibboleth
#    Require shibboleth
#    ShibRequireSession On
#    Order allow,deny
#    Allow from all
#</Location>

我发现这很有帮助:http://shibboleth.1660669.n2.nabble.com/Protect-single-sub-directory-Moodle-with-SP-reverse-proxy-td6590009.html

相关内容