MENU_CALLBACK के एक्सेस तर्क के रूप में "उपयोगकर्ता लॉग इन" का उपयोग कैसे करें?


15

मैं चाहता हूं कि उपयोगकर्ताओं को किसी विशेष MENU_CALLBACK तक पहुंचने के लिए लॉग इन किया जाए।

निम्नलिखित कार्य करता है, लेकिन केवल व्यवस्थापक खाते के लिए। नियमित उपयोगकर्ताओं को अभी भी पहुंच से वंचित रखा गया है:

'access arguments' => array('user_is_logged_in')

एक एक्सेस तर्क होना चाहिए जो प्रमाणित उपयोगकर्ताओं के लिए जांचता है?


यदि ऐसा करने का कोई तरीका नहीं है, तो मैं हुक_परमिशन () का उपयोग करके अपनी अनुमति प्रदान करूंगा और उस अनुमति वाले प्रामाणिक उपयोगकर्ताओं को असाइन करूंगा।
jdu

जवाबों:


29

access argumentsउस तर्क के लिए है जिसे कॉलबैक फ़ंक्शन में पास किया जाएगा ... आपको access callbackइसके बजाय उपयोग करने की आवश्यकता है :

'access callback' => 'user_is_logged_in'

चूंकि user_is_logged_in()आप कोई तर्क नहीं लेते हैं, आप access argumentsअपने मेनू आइटम के लिए सुरक्षित रूप से निकाल सकते हैं ।

आपका वर्तमान कोड केवल व्यवस्थापक खाते के लिए काम करता है क्योंकि डिफ़ॉल्ट access callbackहै user_access(), जो उपयोगकर्ता 1 के लिए एक्सेस चेक को बायपास करता है।


2
फिर विपरीत है 'access callback' => 'user_is_anonymous'
leymannx

1
अपनी YAML फ़ाइल में "आवश्यकताओं" के तहत Drupal 8 के लिए, इसे जोड़ें: _role: 'प्रमाणीकृत'
कोडरमा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.