首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >限制Joomla1.5管理器访问组件

限制Joomla1.5管理器访问组件
EN

Stack Overflow用户
提问于 2011-06-04 09:32:58
回答 3查看 1.2K关注 0票数 1

我希望限制组件访问Joomla1.5中的Manager角色。

如果只使用一行代码就可以了,而不是使用任何组件/扩展,那就太好了。

任何帮助都将不胜感激。

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-04 15:59:16

只需几行代码就无法实现访问控制级别。如果是这么简单的话,ACL就不会是什么大问题了。

您需要一个允许您管理管理访问级别的扩展。看看这些-

http://extensions.joomla.org/extensions/access-a-security/backend-a-full-access-control/13524

http://extensions.joomla.org/extensions/access-a-security/backend-a-full-access-control/2587

http://extensions.joomla.org/extensions/access-a-security/backend-a-full-access-control/9040 -还有一个更先进的专业版本

每一个都应该给你你所需要的控制。

票数 1
EN

Stack Overflow用户

发布于 2011-06-20 10:56:55

因为您希望使用自定义编码来限制管理器的组件。因此,打开文件管理员/模块/mod_menu/helper.php

167号线。有一个组件的前景。

代码语言:javascript
复制
        $login_user = JFactory::getUser(); // <--------------object for login user------------------------->
        foreach ($comps as $row)
        {
            if ($editAllComponents | $user->authorize('administration', 'edit', 'components', $row->option))
            {
                if ($row->parent == 0 && (trim($row->admin_menu_link) || array_key_exists($row->id, $subs)))
                {

                  if($login_user->gid == '23') // <--------------check for manager-------------------------> 
                    {


                    $text = $lang->hasKey($row->option) ? JText::_($row->option) : $row->name;
                     if($text == 'Banner' or $text == 'Polls' )  // <--------------write component name which is visibal to manager only-------------------------> 
            {
                    $link = $row->admin_menu_link ? "index.php?$row->admin_menu_link" : "index.php?option=$row->option";
                    if (array_key_exists($row->id, $subs)) {
                        $menu->addChild(new JMenuNode($text, $link, $row->admin_menu_img), true);
                        foreach ($subs[$row->id] as $sub) {
                            $key  = $row->option.'.'.$sub->name;
                            $text = $lang->hasKey($key) ? JText::_($key) : $sub->name;
                            $link = $sub->admin_menu_link ? "index.php?$sub->admin_menu_link" : null;
                            $menu->addChild(new JMenuNode($text, $link, $sub->admin_menu_img));
                        }
                        $menu->getParent();
                    } else {
                        $menu->addChild(new JMenuNode($text, $link, $row->admin_menu_img));
                    }

                }
                }else  // <--------------else for other group-------------------------> 
                {
                // no change in it


                    $text = $lang->hasKey($row->option) ? JText::_($row->option) : $row->name;
                    $link = $row->admin_menu_link ? "index.php?$row->admin_menu_link" : "index.php?option=$row->option";
                    if (array_key_exists($row->id, $subs)) {
                        $menu->addChild(new JMenuNode($text, $link, $row->admin_menu_img), true);
                        foreach ($subs[$row->id] as $sub) {
                            $key  = $row->option.'.'.$sub->name;
                            $text = $lang->hasKey($key) ? JText::_($key) : $sub->name;
                            $link = $sub->admin_menu_link ? "index.php?$sub->admin_menu_link" : null;
                            $menu->addChild(new JMenuNode($text, $link, $sub->admin_menu_img));
                        }
                        $menu->getParent();
                    } else {
                        $menu->addChild(new JMenuNode($text, $link, $row->admin_menu_img));
                    }

                }

                }
            }
        }
票数 1
EN

Stack Overflow用户

发布于 2015-04-24 09:59:14

非常感谢,Rakesh。效果很好。

请注意:在我的例子中,上面的代码: if( $login_user ->gid == '23')必须更改为if($user->gid == '23'),因为$login_user是未定义的。

另外,在末尾添加一个额外的}来匹配{}。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6235935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档