繁体   English   中英

Opencart权限被拒绝-无法添加权限

[英]Opencart Permission Denied - Cannot add permissions

我正在扩展opencart,并正在构建用于目录的自定义控制器,以便通过CSV上传产品。 尝试查看目录/上载时出现此错误。 You do not have permission to access this page, please refer to your system administrator.

我认为我需要更改数据库中的权限,并找到一个函数来执行此操作

$this->model_user_user_group->addPermission($this->user->getId(), 'access', 'catalog/upload'); $this->model_user_user_group->addPermission($this->user->getId(), 'modify', 'catalog/upload');

我将其放在一个模块中,该模块的唯一目的是在安装时添加这些权限

<?php
    class ControllerModuleInstl extends Controller {
        public function install() {
            $this->load->model('user/user_group');
            $this->model_user_user_group->addPermission($this->user->getId(), 'access', 'catalog/upload');
            $this->model_user_user_group->addPermission($this->user->getId(), 'modify', 'catalog/upload');

            if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
                $this->model_setting_setting->editSetting('instl', $this->request->post);       

                $this->session->data['success'] = $this->language->get('text_success');

                $this->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL'));
            }
        }
    }
?>

我单击安装,我收到一条成功消息(但是没有页面重定向),当我检查数据库时,权限没有更改。

我发现这很难调试,因为通常在调试时我会使用echo等,但是很显然,您无法使用这种大小的应用程序(我通常只是编写小脚本)来进行此类操作,调试opencart的最佳方法是什么,逐步执行,还有谁能告诉我为什么我的权限没有被更改?

谢谢!

转到管理控制台->系统->用户组

有两个选项,分别是访问权限和修改权限。

您必须在那里访问您的新权限。

我希望这能帮到您。

这是我遇到问题时如何解决的。 Opencart通过将php数组序列化到数据库来存储它的权限。 编写一个小的实用程序来获取该记录并反序列化,然后为其添加权限,然后进行序列化并将其写回。

要回答更简单的问题,您可以使用:

$this->log->write('message');

代替echo. 它将消息发送到Opencart中管理面板的错误日志。

您知道Opencart的函数“ addPermission”,它使用“用户组ID”设置参数,而不是您在上面设置的“用户ID”。 所以:

您可以通过以下方式获取用户组ID:

$user_group_id = $this->user->getGroupId();

之后,您为此用户组的用户添加权限“访问/修改”。

$this->model_user_user_group->addPermission($user_group_id, 'access', 'catalog/upload');

$this->model_user_user_group->addPermission($user_group_id, 'modify', 'catalog/upload');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM