php - Restrict Delete Specific User in yii2-user -
मैं yii2-admin और yii2-user का उपयोग कर रहा हूं। मैंने एक रोल सृष्टिकर्ता बनाया है, जो सब कुछ तक पहुंच है Admin नामक एक और भूमिका है, जिनके पास सीमित पहुंच है। लेकिन उपयोगकर्ताओं को हटाने की शक्ति है अब मैं व्यवस्थापक को निर्माता को हटाने से प्रतिबंधित करना चाहता हूं। मैं जानता हूं कि यह yii2-user के AdminController के delete फ़ंक्शन को ओवरराइड करके प्राप्त किया जा सकता है। लेकिन मैं Admin को प्रतिबंधित करने या निर्माता को हटाने से कोई अन्य उपयोगकर्ता तर्क नहीं कर सकता।
धन्यवाद अग्रिम में!
यहाँ एक नज़र डालें: केवल एक चीज जो आपको करने की ज़रूरत है वह लोगों को नष्ट करने की सुविधा तक सीमित कर सकती है, जिनके पास निर्माता है भूमिका। अन्य सभी कुछ भी नहीं हटा पाएंगे।
आपका फ़ंक्शन ऐसा दिखना चाहिए
सार्वजनिक फ़ंक्शन के व्यवहार () {वापसी ['पहुंच' = & gt; ['वर्ग' = & gt; AccessControl :: className (), 'नियम' = & gt; [........ ['क्रिया' = & gt; ['बचाना', 'अपडेट', 'स्थिति', 'सक्रिय-सभी', 'निष्क्रिय-सभी'], // विशिष्ट कार्यों की अनुमति दें 'अनुमति दें = & gt; सच, // का उपयोग 'भूमिकाएं' = & gt; ['व्यवस्थापक', 'निर्माता'],], ['क्रिया' = & gt; ['हटाएं', 'हटाए-सब'], // विशिष्ट कार्यों को परिभाषित करें 'allow' = & gt; सच, // का उपयोग 'भूमिकाएं' = & gt; ['निर्माता'],], ['अनुमति' = & gt; झूठी, // का उपयोग 'भूमिकाएं' नहीं है => ['?'], // मेहमान '?' ],],],]; } यह सिर्फ एक उदाहरण है, अपनी आवश्यकताओं के अनुरूप इसे संशोधित करें संभवत: आपको किसी व्यवस्थापक को क्रिएटर को संपादित करने की अनुमति नहीं दी जानी चाहिए क्योंकि पासवर्ड को बदलने से लगभग हटाने के समान ही होगा।
Comments
Post a Comment