Shibbolethを初めてインストールしようとしていますが、サブディレクトリではなくトップレベルドメインでWebサイトにシングルサインオンを適用すると、すべてが完全に機能するようになりました。
完全に機能するApache仮想ホスト構成ファイルは次のとおりです。
<VirtualHost *:443>
... some other settings
<Location />
AuthType shibboleth
Require shibboleth
ShibRequireSession On
Order allow,deny
Allow from all
</Location>
</VirtualHost>
この構成では、次のことができます。
シナリオA
https://myawesomewebsite.com/secure
に移動しますhttps://somesinglesignon.com/authenticate
のシングルサインオンサービスにリダイレクトします。https://somesinglesignon.com/authenticate
にユーザー名とパスワードを入力し、送信を押します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
https://myawesomewebsite.com/secure
に移動しますhttps://somesinglesignon.com/authenticate
のシングルサインオンサービスにリダイレクトします。https://somesinglesignon.com/authenticate
にユーザー名とパスワードを入力し、送信を押しますhttps://myawesomewebsite.com/Shibboleth.sso/SAML2/POST
に送り返しますステップ4のシナリオAがシナリオBのステップ4と異なるのはなぜですか? A.4をB.4と同じにするにはどうすればよいですか?
次のことを試してください。
<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