【问题标题】:Magento - How to query admin's role name?Magento - 如何查询管理员的角色名称?
【发布时间】:2011-01-02 17:34:44
【问题描述】:

我正在尝试获取当前登录管理员的角色名称。我可以获得管理员用户,但我不知道如何查询他们的角色名称。 Magento 文档很弱 =/

$usr = Mage::getSingleton('admin/session')->getUser();

有什么想法吗?

【问题讨论】:

    标签: php zend-framework magento


    【解决方案1】:

    说得太早了……我得到的角色名称如下:

    $roleId = implode('', Mage::getSingleton('admin/session')->getUser()->getRoles());
    $roleName = Mage::getModel('admin/roles')->load($roleId)->getRoleName();
    

    【讨论】:

    • 也可以通过Mage::getSingleton('admin/session')->getUser()->getRole();获取角色这将返回一个角色对象,您可以从中提取所有数据。
    【解决方案2】:

    使用此代码,您将获得当前用户的角色

    $admin_user_session = Mage::getSingleton('admin/session');
    $adminuserId = $admin_user_session->getUser()->getUserId();
    $role_data = Mage::getModel('admin/user')->load($adminuserId)->getRole()->getData();
    $role_name = $role_data['role_name'];
    

    【讨论】:

      【解决方案3】:

      Mage::getSingleton('admin/session')->getUser()->getRole()->getRoleName();

      M.

      【讨论】:

        【解决方案4】:

        这是另一个可能更友好的:

        $acl = Mage::getResourceModel('admin/acl')->loadAcl();
        $acl->isAllowed($user->getAclRole(), 'admin/foo/bar'));
        

        这将返回一个布尔值。 $user 是一个 admin/user 对象。

        【讨论】:

          猜你喜欢
          • 2013-09-13
          • 2018-11-18
          • 1970-01-01
          • 2013-01-17
          • 2016-01-12
          • 2014-02-28
          • 1970-01-01
          • 2011-09-26
          • 1970-01-01
          相关资源
          最近更新 更多