Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
codeigniter额外url段_Codeigniter_Codeigniter Url - Fatal编程技术网

codeigniter额外url段

codeigniter额外url段,codeigniter,codeigniter-url,Codeigniter,Codeigniter Url,我正在为一个客户创建一个站点,并决定使用CodeIgniter 该网站基本上有两个后端,一个用于设计师,另一个用于销售团队。因此,在登录后,用户将被重定向到 mysite.com/sales/ mysite.com/design/ 例如,销售团队可以查看订单、容器和产品,因此我需要一个控制器 mysite.com/sales/orders/ 销售人员需要能够查看、编辑、删除某些订单 mysite.com/sales/orders/vieworder/235433 基本上我的问题是我没

我正在为一个客户创建一个站点,并决定使用CodeIgniter

该网站基本上有两个后端,一个用于设计师,另一个用于销售团队。因此,在登录后,用户将被重定向到

  • mysite.com/sales/
  • mysite.com/design/
例如,销售团队可以查看订单、容器和产品,因此我需要一个控制器

  • mysite.com/sales/orders/
销售人员需要能够查看、编辑、删除某些订单

  • mysite.com/sales/orders/vieworder/235433
基本上我的问题是我没有足够的url片段来玩

我对解决问题的想法

  • 删除订单、容器、产品类,并将它们的所有方法都作为sales类的方法,尽管这意味着需要大量的方法并加载所有的模型,所以这似乎是毫无意义的

  • 删除sales/designer类,并根据存储在会话数据中的用户类型控制每种用户可以访问的内容

  • 一种拥有额外url段的方法


我很感激任何建议,我只是不想进入项目3周,并意识到我从一开始就错了

授予用户/设计器权限,例如用户表中的一列,在函数开头检查用户的权限,然后阻止或执行它

这正是我要做的。

使用文件夹

如果在
/application/
中创建名为
sales
的子文件夹,则可以在其中放置不同的控制器:

/application/
    /sales/
      orders.php /* Controller */
    /design/
然后在
orders.php
中,您将放置您的
vieworders($id)
方法等等,您将能够通过
domain.com/sales/orders/vieworders/id
访问它

您还可以在
/models/
/views/
中创建子文件夹来组织文件


现在,访问控制是另一回事,它更多地取决于您使用的身份验证系统。

似乎您应该研究一下路由类。这可能是一个肮脏的解决方案,但将sales/(:any)重新路由到sales_u$1之类的东西将意味着您将使用sales_uorders之类的名称创建控制器。 设计部分也是如此


(仅供参考:
$routing['sales/(:any)]='sales_$1';
应该可以做到这一点;请参阅application/config/routing.php)。

对不起,您到底是如何缺少“额外的url段”的?什么是“失踪”?嗨。你引用我的话说“失踪”,虽然我没有?我只需要一种方法,允许销售团队访问某些类和它们的方法,允许设计师访问一些相同的类,但不是所有的方法。为什么用户不能通过DB获得某种访问权限,并在用户/设计师缺少特权时阻止函数执行?这是我的想法之一,虽然我只是不确定这是否是最好的方法。那么这是最好的方法吗?当然是的,在没有最大化努力的情况下,你应该如何做不同的事情呢