पर आधारित अपाचे अनुमतियां मेरे पास एक अपाचे सर्वर है जहां प्रमाणीकरण की आवश्यकता है, लेकिन कुछ कॉल हैं जिन्हें सभी के लिए अनुमति दी जानी चाहिए।क्वेरीस्ट्रिंग
/foo/api.php?Token=123 & टास्क = DoStuff & परिणाम = json
मुझे लगता है कि सिखाया:
पर इन कॉल बंद उदाहरण के लिए एक क्वेरी स्ट्रिंग पर आधारित है एक स्थानमैच के साथ यह काम करेगा, इसलिए मैंने इस कॉन्फ़िगरेशन को काम किया:
<LocationMatch ^/foo/api.php\?.*(Task=DoStuff).*>
Order Allow,Deny
Allow from All
</LocationMatch>
लेकिन यह मुझे मुझे पास करने नहीं देता है प्रमाणीकरण (जिसका अर्थ है कि मुझे 401 मिलते हैं)। अगर मैं सिर्फ ^/foo/api.php
फ़िल्टर करता हूं तो मुझे प्रमाणीकरण पारित होता है, लेकिन यह पर्याप्त सख्त नहीं है।
किसी को भी कोई विचार है कि क्वेरीस्ट्रिंग में कार्य पैरामीटर को जांचने के लिए इसे कॉन्फ़िगर कैसे करें?
प्रमाणीकरण हम Kerberos उपयोग कर रहे हैं के लिए, यह पूरी साइट पर मजबूर किया जाता है यह रोकने
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/[email protected]
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>
मैं इस पर गौर करेंगे, मैं जोड़ लिया है चाहिए कि हम प्रमाणीकरण के लिए auth_kerb उपयोग कर रहे हैं, समस्या अब मैं आ रही हैं कि वह auth_kerb पहले क्या कर रहा है और उसके बाद mod_rewrite – Frederiek
@Frederiek है है 'स्थानमैच' अनुभाग के अंदर या बाहर आपके अपाचे कॉन्फ़िगरेशन फ़ाइल में 'ऑथ टाइप कैर्बेरोस' निर्देश? क्या आप अंततः कॉन्फ़िगरेशन के बारे में और जानकारी प्रदान कर सकते हैं जिसका आप उपयोग कर रहे हैं? शायद [यह उत्तर] (http://serverfault.com/questions/404149/how-can-i-disable-kerberos- प्रमाणीकरण-for-only-the-root-of-my-site) भी उपयोगी हो सकता है। –
मूल प्रश्न में संपादित देखें। मैंने conf फ़ाइल को शामिल किया है – Frederiek