1

ウェブサイトの URL と API の URL で構成される cakephp プロジェクトがあります。

実稼働環境では、Web サイトと API の両方が、cakephp のメソッドを使用して認証と承認を処理します。

プロジェクト全体をステージング サーバーにデプロイしたいと考えています。そこでは、Web サイトは HTTP 認証で保護されている必要がありますが、API は保護されていない必要があります (API コンシューマーに認証を追加したくないため)。プロジェクトのソースや構成を変更したくないので、代わりに Apache 構成で解決します。

基本的に次のスキームに従って、いくつかの仮想ホスト構成を試しました。

   <LocationMatch "/api/.*">
           Order allow,deny
           Allow from all
           Satisfy any
   </LocationMatch>

   <Location />
           Order allow,deny
           Allow from all
           AllowOverride all

           AuthType Basic
           AuthName "myproject"
           AuthUserFile /path/to/.htpasswd
           AuthGroupFile /path/to/.htgroup
           Require group mytesters
   </Location>

また、両方のセクションに Location または LocationMatch を使用し、LocationMatch の正規表現を無効にし、両方のセクションに個別の仮想ホストを使用して、Location と Directory のディレクティブを混在させてみました。

私は何か本当に間違っているのでしょうか、それとも不可能なのでしょうか (Apache または cakephp が書き換えを処理する方法が原因で) ?

4

1 に答える 1

0

次の構成を試してください。

<Directory /path/to/your/htdocs>
    AuthType Basic
    AuthName "myproject"
    AuthUserFile /path/to/.htpasswd
    AuthGroupFile /path/to/.htgroup
    Require valid-user

    AllowOverride AuthConfig
</Directory>

<Location "/api">
    Satisfy any
</Location>
于 2012-07-17T21:11:21.060 に答える