VirtualHost内のパスを保護したいが、ユーザーにさまざまな認証オプション(mod-auth-cas
、mod-auth-openid
、mod-auth-digest
など)を許可したい。同じ場所のauth-type
s?
複数の認証タイプの問題は、プロトコルが一致しない傾向があることです。 Shibbolethのドキュメント に示されている手法を試すことができます。すべてをサブディレクトリに配置し、サポートする認証タイプごとにそのディレクトリへのシンボリックリンクを作成してから、別の認証用に各シンボリックリンクの場所を構成します。タイプ。
<Location /basic>
AuthType Basic
AuthUserFile /path/to/.htpasswd
require valid-user
</Location>
<Location /cas>
AuthType CAS
require valid-user
</Location>
<Location /openid>
AuthOpenIDEnabled On
require valid-user
</Location>
私はほとんど同じ状況で、次のように解決しました:
サーバー構成レベル、Apache2.conf(Debianベースのディストリビューションを想定)
<AuthnProviderAlias method1 auth1_name >
# config options
# ...
</AuthnProviderAlias>
<AuthnProviderAlias method2 auth2_name >
# config options
# ...
</AuthnProviderAlias>
仮想ホスト固有のconfファイル内:
<VirtualHost *>
# config options
# ...
<Location /your_location>
# config options
AuthBasicProvider auth1_name auth2_name
# other needed config options
# ...
</Location>
</VirtualHost>
このようにして、異なるVirtualHostsの同じLocationディレクティブで、異なる名前の異なる認証/認証方法を使用できます。
短いブログ投稿での私のソリューションの詳細: リンクテキスト
HTH、ciao :)ジャンルカ
「 Satisfy Any 」を試しましたか?