認証が必要なApacheサーバーがありますが、すべてに許可する必要のある呼び出しがいくつかあります。
オンオフこれらの呼び出しは、たとえば次のクエリ文字列に基づいています。
/foo/api.php?Token=123&Task=DoStuff&Result=json
LocationMatchを使用して、これが機能することを教えたので、この構成を作成しました。
<LocationMatch ^/foo/api.php\?.*(Task=DoStuff).*>
Order Allow,Deny
Allow from All
</LocationMatch>
しかし、これでは認証に合格できません(つまり、401を取得します)。フィルタリングするだけ^/foo/api.php
で認証に合格しますが、これは十分に厳密ではありません。
クエリ文字列のタスクパラメータをチェックするようにこれを構成する方法を知っている人はいますか?
ケルベロスを使用している認証の場合、これはサイト全体に強制されますこれは縁石の設定です
LoadModule auth_kerb_module modules/mod_auth_kerb.so
<Directory /var/www/html>
Options FollowSymLinks
AllowOverride All
AuthType Kerberos
Require valid-user
AuthName "Kerberos Login"
KrbMethodNegotiate on
KrbMethodK5Passwd on
KrbAuthRealms FOO.LOCAL
KrbServiceName HTTP/server.foo.local@foo.LOCAL
Krb5KeyTab /etc/httpd/conf/http.keytab
Satisfy Any
Order deny,allow
Deny from all
Allow from 192.168.72.90
Allow from 192.168.72.91
Allow from 192.168.72.94
Allow from 192.168.72.95
Allow from 127.0.0.1
</Directory>