2016-09-02 32 views
10

मुझे चाहिए कि एक यूआरएल कुछ परिभाषित उपयोगकर्ताओं के लिए ही पहुंच योग्य है। यूआरएल में एक क्वेरी पैरामीटर है और यह भेदभावकर्ता है।क्वेरी पैरामीटर के साथ एक यूआरएल तक पहुंच सीमित करें

URL कुछ ऐसा हो सकता है:

https://my.my.com/my-app/view/myView.xhtml?myQueryParam=allUsers 

जैसे Apache विन्यास में मेरा अनुभव ~ 0 और एक छोटे से मैं सेट कर सकते हैं googling है इस:

RewriteEngine on 
RewriteCond %{QUERY_STRING} myQueryParam=allUsers 
RewriteRule "/my-app/view/myView[.]xhtml.*" - [E=no_auth_required:1] 

<LocationMatch "/my-app/view/myView[.]xhtml.*"> 

       Require uniqueID user1ID user2ID 

</LocationMatch> 
xhtml बीच

और ?.* के लिए अतिरिक्त तार भी आ सकता है।

यह काम करता है लेकिन समस्या यह है कि यह पूर्व के लिए उपयोग से इनकार करता है। लिंक

https://my.my.com/my-app/view/myView.xhtml?myQueryParam=somethingElse 

ऐसा लगता है कि यह क्वेरी पैरामीटर का मान परेशान नहीं करता है ...

लिए मैं क्या याद करते हैं?

संपादित करें: मैं यह कहना भूल गया कि मैं अपाचे 2.2 का उपयोग करता हूं। है कि

RewriteCond %{QUERY_STRING} myQueryParam=allUsers 
RewriteRule . - [E=no_auth_required:1] 

<Location "/my-app/view/myView.xhtml"> 
    <If "reqenv('no_auth_required') == 1"> 
     Require uniqueID user1ID user2ID 
    </If> 
</Location> 
+0

क्या आपने http://stackoverflow.com/questions/14648078/apache-permissions-based-on-querystring# पर एक नज़र डाली है? – Phillip

+0

आप 'myQueryParam = somethingElse'' के लिए क्या चाहते हैं? – revo

+0

रिवाइट हमेशा मेरे लिए एक रहस्य रहा है। क्या '। *' आपको 'myQueryParam = allUsers' तक सभी तरह से ले जाता है? – sln

उत्तर

3

परंतु समाधान अपाचे v2.4

एक Location* निर्देश के भीतर एक If निर्देश से चेक env चर मूल्य के लिए है एक प्रश्न चिह्न नहीं है।

RewriteEngine on 
RewriteCond %{QUERY_STRING} myQueryParam=allUsers 
RewriteRule "/my-app/view/myView[.]xhtml[^?]*" - [E=no_auth_required:1] 

<LocationMatch "/my-app/view/myView[.]xhtml[^?]*"> 

       Require uniqueID user1ID user2ID 

</LocationMatch> 
+0

जैसा कि कहा गया है, दुर्भाग्य से मैं अपाचे 2.2 का उपयोग करता हूं। वैसे भी धन्यवाद। – Francesco

0

इस कोशिश, मूल रूप से कह अपाचे मैच कुछ भी xhtml के बाद:

+0

उत्तर के लिए धन्यवाद, लेकिन यह अभी भी 'myQueryParam = कुछ और' होने पर भी पहुंच से इंकार कर देता है। – Francesco

संबंधित मुद्दे