web-dev-qa-db-ja.com

Apacheで複数の認証オプションをどのように受け入れますか?

VirtualHost内のパスを保護したいが、ユーザーにさまざまな認証オプション(mod-auth-casmod-auth-openidmod-auth-digestなど)を許可したい。同じ場所のauth-types?

7
James A. Rosen

複数の認証タイプの問題は、プロトコルが一致しない傾向があることです。 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>
5
outis

私はほとんど同じ状況で、次のように解決しました:

サーバー構成レベル、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 :)ジャンルカ

4

Satisfy Any 」を試しましたか?

2
jwa