/ / मैं mdmsoft / yii2-admin के एक्सेसकंट्रोल की अनुमति कैसे देता हूं - yii2, rbac, yii2-user

मैं mdmsoft / yii2-admin के accesscontrol के लिए अनुमति कैसे सेट करता हूं - yii2, rbac, yii2-user

मैंने अपने सिस्टम के लिए अनुमति दी और इस विस्तार से दूसरों ने ठीक काम किया। उदाहरण के लिए मैंने पृष्ठ मॉड्यूल के लिए अनुमति निर्धारित की तो मैंने नीचे दिए गए कोड का उपयोग किया

  if(Yii::$app->user->can("page_module")){}else{
throw new ForbiddenHttpException("You are not authorized to perform this action.", 403);
}

और यह मुझे प्रतिबंध प्रदान करता है। मैंने इन पंक्तियों को एक्सटेंशन कंट्रोलर में pf कोड का उपयोग किया, फिर इसे प्रतिबंधित कर दिया, लेकिन यह असुरक्षित कारण है कि अगर मैं एक्सटेंशन को अपडेट करता हूं तो कोड हटा देगा। और मुझे समझ में नहीं आया कि मैं सभी नियंत्रक को कैसे बढ़ाऊं और अनुमति दें। यदि कोई दूसरा तरीका मेरे लिए अज्ञात है।

उत्तर:

उत्तर № 1 के लिए 1

एक बार जब आप सेटअप कर लेते हैं तो mdmsoft / yii2-admin एक्सटेंशन एक्सेस सभी मार्गों से इनकार कर दिया जाता है जब तक आप इसे अनुदान नहीं देते। कठिन कोडिंग के बजाय yii::$app->user-can("permission") RBAC का उपयोग करें जो केवल एक कारण होना चाहिए जो आपने mdmsoft / yii2-admin स्थापित किया है

एक्सेस सेटअप के रूप में उम्मीद है कि Yii2 के उन्नत टेम्पलेट का उपयोग करके आपका। प्रारंभ में, अपने में एक्सेस का सेटअप करें frontend/config/main.php :

"as access" => [
//This access behavior must be in frontend and backend.
//The "as access" behavior will interfere with migrations if put in common.
"class" => "mdmadmincomponentsAccessControl",
"allowActions" => [
"site/*",  //Allow by default to all.
"debug/*",
//"admin/*", //Leave commented out, unless setting up admin roles initially.
//Allow guests to do:
"ticket/ticket/index",
]
],

सेटअप RBAC

RBAC पदानुक्रम इस तरह है:

उपयोगकर्ता-> Roles-> Permissions-> मार्गों

उदाहरण

-Joey

--Admin_Role

---- Admin_Permission

-------- ऐप / कंट्रोलर 1 / *

-------- ऐप / कंट्रोलर 2 / दृश्य

सेटअप RBAC

  1. सबसे पहले अपने मार्गों को जोड़ें।
  2. अपनी अनुमतियाँ जोड़ें।
  3. अपनी अनुमति के लिए मार्ग निर्दिष्ट करें।
  4. अपनी भूमिकाएँ बनाएँ।
  5. अपनी भूमिकाओं के लिए अनुमतियाँ असाइन करें।
  6. अपने उपयोगकर्ताओं को भूमिकाएँ सौंपें।