10

Shibboleth認証モジュールによって保護されているWebアプリケーションがあります。私の現在の設定は以下の通りです

<Location /MyApp>
 AuthType shibboleth
 ShibUseHeaders On
 ShibRequestSetting requireSession 1
 require shibboleth
</Location>

シボレスはSSO機能を提供する認証モジュールであり、現在のフローは、ユーザーがログイン資格情報を入力するためのIDプロバイダーにユーザーを誘導します。特定のURLを開いて、そのURLが認証モジュールによってバイパスされるようにしたいと思います。以下を試してみましたが、うまくいかないようで、URLの読み込み時に空白のページが表示されます

方法1

<Location /MyApp/Login.html>
  Satisfy Any
  Allow from all
  AuthType None
  Require all granted
</Location>

方法2

<Location /MyApp/Login.html>
  AuthType shibboleth
  ShibRequestSetting requireSession 0
  require shibboleth
</Location>

追加のデバッグを行ったところ、 Login.htmlがロードする追加のファイル(css、jsなど)に問題があるようです。Login.htmlを認証からバイパスできるように、Apacheでこれを構成する正しい方法は何ですか。

ありがとう

4

2 に答える 2

6

Login.htmlによってロードされている追加ファイルの除外に関する最後のコメントは正しいものになりました。次の形式を使用して、htmlファイルによってロードされていたファイルを除外しました

<Location ~ "/MyApp/(Login.html|SessionTimeout.html|accessDenied.html|/badRequest.html|status|css/*|login/*|images/*|style/*|js/*|javascript/*|)">   
  Satisfy Any   
  Allow from all   
  AuthType None   
  Require all granted   
</Location>
于 2012-11-08T19:28:11.100 に答える
1

2.2ではなくApache2.4を使用する場合、「/ server-status」を除外するには、次の手順で十分です。

<LocationMatch "^(?!/server-status)">
    AuthType Basic
    AuthUserFile /etc/apache2/.htpasswd
    <RequireAll>
        Require ssl
        Require user valid_user_name
    </RequireAll>
</LocationMatch>

分析:

  • <LocationMatch "regex">同等です<Location ~ "regex">
  • 使用される正規表現は、pcre(perl互換の正規表現)です。
  • ^(?!/server-status)意味:
于 2020-12-14T05:22:45.110 に答える