在opencart中限制多用户环境中的控制器/功能访问

时间:2014-02-12 08:25:22

标签: php opencart

我正在对我的opencart网站进行一些更改。就我而言,它是一家多店

  

www.mywebsite.com - 第一家商店

     

store.mywebsite.com - 第二家商店

我想要做的是限制第一家商店的用户访问

  

http://www.mywebsite.com/index.php?route=account/order

如果被访问,则将其重定向到

  

http://store.mywebsite.com/index.php?route=account/order

或显示错误,以便只能通过子域account/order

访问http://store.mywebsite.com

我尝试将以下代码添加为构造函数。但没有运气

    public function __construct() {
        global $registry;
        parent::__construct($registry);

        if($_SERVER['HTTP_HOST'] == 'http://mywebsite.com' || $_SERVER['HTTP_HOST'] == 'http://www.mywebsite.com')
            {
            $this->url->redirect($this->url->link('http://store.mywebstore.com/index.php?route=account/order', '', 'SSL'));
            }

    }

有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:2)

我不应该推荐使用.htaccess的重定向,opencart默认有这种动作,之前我用过的是在相应的控制器中添加这行代码:

if($data['store_id'] != "destination_store_id"){
  $this->redirect($this->url->link('http://store.mywebstore.com/index.php?route=account/order', '', 'SSL'));    
}

根据我的意见,这应该可行。