サーバーにshibboleth SP
をセットアップしましたが、IISフォルダーを保護したいと思います。いくつかのチュートリアルに従い、shibboleth2.xml
ファイルでこの構文を使用しました。
<RequestMapper type="Native">
<RequestMap applicationId="default">
<Host name="mydomain" redirectToSSL="443">
<Path name="secure" authType="shibboleth" requireSession="true" />
</Host>
</RequestMap>
</RequestMapper>
現在、mydomain.tld/secure
は正常に機能するshibbolethによって保護されています。ルートフォルダとその中のすべての子を保護するにはどうすればよいですか?
私はwebappのルートでPHPアプリケーションを使用しています。また、次のようなものをリダイレクトするいくつかのURLRewriteルールを使用しています:frontpage/item/123
to:index.php?t=frontpage/item&id=123
。
Index.phpとおそらくすべてのサブフォルダーを保護するにはどうすればよいですか?
さて、私はそれを自分で手に入れました。基本的に、requireSession
属性をHost
属性に追加できます。これらはグローバルに処理され、Path
属性は、exception/
リクエストでshibbolethauthを無効にするなどのグローバルな動作を上書きするためにあります。
<RequestMapper type="Native">
<RequestMap applicationId="default">
<Host name="mydomain" authType="shibboleth" requireSession="true" redirectToSSL="443">
<Path name="exception" requireSession="false" />
</Host>
</RequestMap>
</RequestMapper>
これが他の人にも役立つことを願っています。説明が間違っている場合は訂正してください。