magento后端ACL用户角色

时间:2012-08-22 13:18:56

标签: magento acl

我的用户角色只能看到magento后端的几页。 当我以该用户身份登录时,我想将其重定向到另一个后端模块控制器而不是仪表板。

这仅适用于他的用户角色。

有人有想法吗?

2 个答案:

答案 0 :(得分:0)

您可以使用模块中的config.xml中的此代码来控制您的访问权限。

<acl>
        <resources>
            <admin>
                <children>
                    <catalog>
                        <children>
                            <yourmodule translate="title" module="yourmodule">
                                <title>any</title>
                                <sort_order>700</sort_order>
                            </yourmodule>
                        </children>
                    </catalog>
                </children>
            </admin>
        </resources>
    </acl>

使用此功能,您可以使用系统菜单用户控件上的管理员角色用户启用或禁用访问权限以选择用户组。 如果您需要控制每个用户显示的页面,请在控制器上的同一模块上进行操作。如果您需要更多信息,请在此完成。

答案 1 :(得分:0)

现在有一种内置的方法可以帮助您实现目标,但这里有一些见解可供您将其转化为解决方案:

  1. System -> Configuration -> ADVANCED -> Admin中有一个设置 称为“启动页面”,可以让您更改此设置 全球(但不是由管理员或角色单独进行)。
  2. Mage_Admin_Model_User::getStartupPageUrl()中你会看到if 不允许在先前设置中设置的任何内容 资源,它将按顺序浏览菜单并找到 第一个允许的页面
  3. 所以我认为你可以修改菜单配置来改变项目的顺序,这样你的自定义角色所允许的第一个资源就会与默认设置的不同。

    另一个简单的解决方案是观察一些事件(如admin_user_authenticate_after)并将用户重定向到所需的页面(如果它来自给定的角色)