Drupal 7 - उपयोगकर्ताओं को प्रबंधित करने की अनुमति दें, लेकिन अनुमति नहीं


11

हमने Drupal 7 में एक साइट स्थापित की है, जिस पर हम कुछ उपयोगकर्ताओं को उपयोगकर्ता प्रबंधन पृष्ठ तक पहुँच प्राप्त करना चाहते हैं, और नए उपयोगकर्ता बनाने में सक्षम हैं, भूमिकाएँ असाइन करते हैं, आदि, लेकिन हम उन्हें एक्सेस नहीं देना चाहते हैं भूमिकाएं और अनुमति पृष्ठ।

वर्तमान में Drupal केवल 2 अनुमतियों Administer Permissionsऔर Administer users

Administer usersअनुमति के साथ , उपयोगकर्ता के पास उपयोगकर्ता प्रबंधन पृष्ठ तक पहुंच होती है, और नए उपयोगकर्ता बना सकते हैं, लेकिन उपयोगकर्ताओं को भूमिका नहीं दे सकते।

यदि उपयोगकर्ता के पास Administer permissionsअनुमति है, तो वह उपयोगकर्ताओं को भूमिकाएं दे सकता है और अनुमति और भूमिका प्रबंधन पृष्ठों तक भी पहुंच बना सकता है।

आप किसी उपयोगकर्ता को उपयोगकर्ताओं को भूमिकाएँ प्रदान करने का अधिकार कैसे प्रदान करेंगे, लेकिन उसे अनुमति पृष्ठ तक पहुँचने से रोक सकते हैं?

जवाबों:


16

मेरे पास एक ही आवश्यकता थी, और मैं इसे पूर्णता के लिए बनाने के लिए रोल्स डेलिगेशन मॉड्यूल का उपयोग करने में सक्षम था :-)

यहाँ आपको अधिक संदर्भ देने के लिए मेरा परिदृश्य है -

  1. मेरे पास भूमिकाओं के साथ एक ड्रुपल साइट थी - ए, बी, सी, एडमिन, मेंट
  2. मैं चाहता था कि भूमिका निभाने वाले उपयोगकर्ता नए उपयोगकर्ता बनाने में सक्षम हों और ऐसा करते समय उन्हें भूमिकाएँ भी सौंपें
  3. मैं यह भी चाहता था कि मैंट यूजर्स को ए, बी, सी नए यूजर्स को ही रोल ऑफर करने में सक्षम करूं, न कि एडमिन
  4. यह सब रोल्स डेलिगेशन मॉड्यूल के साथ कुछ ही क्लिक था

उम्मीद है की यह मदद करेगा।


1
रोल्स डेलिगेशन का उपयोग करना मुझे यह कॉन्फ़िगर करने में सक्षम नहीं लगता कि कौन उपयोगकर्ता बना सकते हैं। वे उन्हें भूमिकाएँ सौंपने के लिए संपादित कर सकते हैं, लेकिन उन्हें बनाने के लिए नहीं। क्या मैं कुछ भूल रहा हूँ?
जॉनथन एलमोर

2

हम्मम ... दिलचस्प है कि ऐसा करने के लिए एक स्पष्ट कटौती तरीका नहीं लगता है। ऐसा लगता है कि यह लोगों के लिए एक आम सुविधा हो सकती है। मुझे कुछ उपाय मिले:

http://drupal.org/project/protect_permissions - हालांकि, यह अभी तक उत्पादन के उपयोग के लिए तैयार नहीं है।

हालाँकि, मुझे लगता है कि आप जो चाहते हैं उसे पूरा कर सकते हैं: http://drupal.org/project/permissions_lock

आपको इसकी भी आवश्यकता होगी: http://drupal.org/project/user_permissions

बाद में लगता है कि आप जो चाहते हैं उसके विपरीत करते हैं, लेकिन पूर्व जैसा आप चाहते हैं वैसा ही करते हैं। मैंने 100% यह सुनिश्चित करने के लिए अपनी साइट पर इनमें से किसी का भी परीक्षण नहीं किया है कि यह आपके लिए क्या काम करेगा। अगर मुझे कुछ और आता है तो मैं इस जवाब को अपडेट करूंगा।


1
मैंने भी उसी तर्ज पर सोचना शुरू किया जो आपने सुझाया है, लेकिन तब मुझे मॉड्यूल रोल्स डेलिगेशन ( drupal.org/project/role_delegation ) मिला। इस प्रकार की आवश्यकताओं के लिए इसे देखें। यह बहुत अच्छा काम करता है।
सुमीत पारीक

बहुत बढ़िया! मैंने इसे बुकमार्क किया, अच्छी खोज।
ब्रैंडन बेयरडेन

2

भूमिका प्रतिनिधिमंडल एक सुरक्षा छेद छोड़ देता है। आपको प्रशासन पृष्ठ और उसके पास मौजूद उपकरणों का उपयोग करने में सक्षम होने के लिए लोगों को उनके द्वारा प्रबंधित उपयोगकर्ता सौंपने की आवश्यकता है।

लेकिन अगर आप ऐसा करते हैं, तो वह भूमिका भी सुपरडैमिन को संपादित करने में सक्षम होगी। जांच Drupal के प्रशासन उन अनुमति से सावधान रहें पूर्ण विवरण के लिए।

मेरा समाधान भूमिकाओं का प्रतिनिधिमंडल है + यह हुक


function hook_user_presave(&$edit, $account, $category) {
    if( $account->uid == 1 || in_array('adminrole',$account->roles)){ //trying to edit an admin
        global $user;
        if($user->uid != 1){//only super admin can do that
            drupal_set_message( "You attempted to edit an admin or dev user name and you are not allowed, this attempt was logged." ,'error');
            watchdog('permissions_extra','Logged in user %user tried to edit account %account', array('%user' => $user->uid, '%account' => $account->uid), WATCHDOG_ERROR);
            drupal_goto('/admin/people');
        }
    }
}

0

हाल ही में हम roleassign मॉड्यूल का उपयोग कर रहे हैं, जो वास्तव में आप क्या पूछ रहे हैं। यह मौलिक रूप से रोल_डिजाइन मॉड्यूल के समान है, लेकिन अगर आपको कुछ अलग करने की जरूरत है तो यह एक विकल्प हो सकता है।

एक महत्वपूर्ण अंतर यह है कि आप यह कैसे तय करते हैं कि कौन सी भूमिकाएं सौंपी जानी हैं। Roleassign के साथ, आप बस उन लोगों का चयन करते हैं जिन्हें आप उपलब्ध कराना चाहते हैं, और यह केवल उन भूमिकाओं को असाइन करने के लिए एक एकल नई अनुमति जोड़ता है: roleassign

Role_delegation मॉड्यूल साइट पर मौजूद प्रत्येक भूमिका के लिए एक नई अनुमति देता प्रतीत होता है: role_delegation मॉड्यूल अनुमतियाँ

Role_delegation मॉड्यूल को इंस्टॉल की संख्या लगभग तीन गुना, और "अनुशंसित" ड्रुपल 8 रिलीज़ भी लगती है। मुद्दा कतार भी बेहतर स्थिति में है, इसलिए यह शायद बेहतर विकल्प है?

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.