codeigniter额外url段
我正在为一个客户创建一个站点,并决定使用CodeIgniter 该网站基本上有两个后端,一个用于设计师,另一个用于销售团队。因此,在登录后,用户将被重定向到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 基本上我的问题是我没
- mysite.com/sales/
- mysite.com/design/
- mysite.com/sales/orders/
- mysite.com/sales/orders/vieworder/235433
- 删除订单、容器、产品类,并将它们的所有方法都作为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获得某种访问权限,并在用户/设计师缺少特权时阻止函数执行?这是我的想法之一,虽然我只是不确定这是否是最好的方法。那么这是最好的方法吗?当然是的,在没有最大化努力的情况下,你应该如何做不同的事情呢