관리자 역할 role_type 테이블 칼럼
문제
에 admin_role
테이블이있 열 role_type
수있는 2 값:
- G-
Mage_Admin_Model_Acl::ROLE_TYPE_GROUP
- U-
Mage_Admin_Model_Acl::ROLE_TYPE_USER
자신의 이름으로 나는 뛰어지는 결론 중 하나는 사용자를 위한 역할,그리고 다른 그룹의 역할을 하지만 내가 이해할 수 없는 방법에는 이 값을 사용합니다.
AFAIK 각 관리자에 액세스하기 위해 일부 지역 관리자가 있어야 합니다.는 역할을'그룹'?그렇다면,다음 사용이 무엇인지의 U
값이 있습니다.하지 않을 경우,무슨의'그룹'그?
Magento 버전은 중요하지 않습니다.그것은 거기에 있었기 때문"빅뱅"(v0.7)그리고 그것도 포팅에는 다음주(Magento2).
해결책
예,이는 그룹'.각 사용자는 사용자 역할이 있는 부모가 그룹의 역할 모든 사용자를 그룹에 할당된 통해 parent_id 에는 테이블.
유일한 진짜 가치할 수 있습니다 acl 에서 생성할 수 있는 덤프에서 테이블을 생성 acl 구조에 따라 제공된 정보에 Mage_Admin_Model_Resource_Acl::loadRoles
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;
}
다음과 같이 사용할 수 있는($역할['parent_id']>0)지 여부를 결정하는 그룹이나 사용자 역할을 하지만,나는 꽤 오류가 발생하기 쉽습니다.
다른 팁
에서 짧은:당신이 부르는"role"이 그룹은("관리자").
각 그룹은 항목과 유형 G
고 각 사용자는 항목과 유형 U
참조하는 사용자의 그룹을 통해 parent_id
.모든 액세스는 규칙에서 정의 그룹의 수준입니다.에서 보면 테이블 admin_rules
, 당신이 볼 수 있는 모든 항목이 있을 G
역할로 유형입니다.
이 admin_rule.role_type
기능에 의한 것이라고 생각처럼 stock_id
, 어떻게 든 것,결코 완전히 구현하고 그에 따라 실시하기 때문에 아무도 감히 그것을 누릅니다.
의 호기심을 데이터 집합으로 역할 유형 U
수동으로 하지만 부모 역할은 항상 우선적으로 적용됩,는 경우에 상관없이 그것입니다 allow
나 deny
규칙이 있습니다.하지 않고 부모 역할지에 대한 액세스를 얻을 관리자 패널에서 모두.