دور الادار_نوع عمود الجدول
سؤال
في ال 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
حكم.وبدون دور الوالدين ، لا يمكنك الوصول إلى لوحة الإدارة على الإطلاق.