سؤال

في ال admin_role الجدول هناك عمود role_type يمكن أن يكون 2 القيم:

  • 'ز' - Mage_Admin_Model_Acl::ROLE_TYPE_GROUP
  • 'يو' - Mage_Admin_Model_Acl::ROLE_TYPE_USER

من خلال أسمائهم أقفز إلى استنتاج مفاده أن أحدهما لأدوار المستخدم ، والآخر لأدوار المجموعة ولكن لا يمكنني فهم كيفية استخدام هذه القيم.
أفيك كل مستخدم المشرف ، من أجل الحصول على بعض المناطق المشرف يجب أن يكون لها دور.هل هذا الدور 'المجموعة'?إذا كانت الإجابة بنعم ، فما هو استخدام U القيمة.ان لم, ما هو 'المجموعة' ثم?

نسخة الماجنتو ليست مهمة.لقد كان هناك منذ" الانفجار العظيم " (الإصدار 0.7) وحتى أنه تم نقله في الكون التالي (الماجنتو 2).

هل كانت مفيدة؟

المحلول

نعم ، هذا هو 'المجموعة'.لكل مستخدم دور مستخدم له دور رئيسي لدور جماعي ، يتم تعيين جميع المستخدمين لمجموعة عبر معرف الوالدين في هذا الجدول.

القيمة الحقيقية الوحيدة التي يمكنني رؤيتها هي في جيل أكل حيث يمكنهم تفريغ في الجدول بأكمله وتوليد هيكل أكل استنادا إلى المعلومات المقدمة ، في ماجيد_أدمين_نموذج ريسورس_كل:: لوادروليس

public function loadRoles(Mage_Admin_Model_Acl $acl, array $rolesArr)
{
    foreach ($rolesArr as $role) {
        $parent = ($role['parent_id'] > 0) ? Mage_Admin_Model_Acl::ROLE_TYPE_GROUP . $role['parent_id'] : null;
        switch ($role['role_type']) {
            case Mage_Admin_Model_Acl::ROLE_TYPE_GROUP:
                $roleId = $role['role_type'] . $role['role_id'];
                $acl->addRole(Mage::getModel('admin/acl_role_group', $roleId), $parent);
                break;

            case Mage_Admin_Model_Acl::ROLE_TYPE_USER:
                $roleId = $role['role_type'] . $role['user_id'];
                if (!$acl->hasRole($roleId)) {
                    $acl->addRole(Mage::getModel('admin/acl_role_user', $roleId), $parent);
                } else {
                    $acl->addRoleParent($roleId, $parent);
                }
                break;
        }
    }

    return $this;
}

يبدو أنها يمكن أن تستخدم (role دور ['الوالدين'] > 0) لتحديد ما إذا كان دور مجموعة أو مستخدم ، ولكن أعتقد أن هذا هو عرضة للخطأ تماما.

نصائح أخرى

باختصار:ما تسميه" الدور "هو المجموعة (مثل"المسؤولين").

كل مجموعة لديها إدخال مع نوع G وكل مستخدم لديه إدخال مع نوع U الذي يشير إلى مجموعة المستخدم عبر parent_id.يتم تعريف جميع قواعد الوصول على مستوى المجموعة.إذا نظرت إلى الطاولة admin_rules, ، سترى أن جميع الإدخالات لها G كنوع الدور.

ال admin_rule.role_type يبدو أن الميزة شيء مثل stock_id, ، المقصود بطريقة أو بأخرى ، لم تنفذ بالكامل ثم نفذت على طول لأن لا أحد يجرؤ على لمسها.

بدافع الفضول حاولت إدخال مجموعة بيانات بنوع الدور U يدويا ولكن دور الوالدين دائما الأسبقية ، بغض النظر عما إذا كان allow أو deny حكم.وبدون دور الوالدين ، لا يمكنك الوصول إلى لوحة الإدارة على الإطلاق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى magento.stackexchange
scroll top