Php 阻止控制器执行
我有一个acl正在我的_控制器中运行。如果权限被拒绝,那么目前,我只需执行一个Php 阻止控制器执行,php,codeigniter,Php,Codeigniter,我有一个acl正在我的_控制器中运行。如果权限被拒绝,那么目前,我只需执行一个重定向('denied')——这是一个非常基本的控制器,它加载一个非常基本的视图,表示“权限被拒绝” 但是,我想做的是,仍然加载最初请求的uri,但是加载“denied”视图而不是默认视图 我可以在我的_控制器中执行此操作,拒绝的视图加载良好。但是,这并不会停止原始控制器/方法的执行,因此我会加载这两个视图。我还试着放一个出口语句,但这不可行,因为这样输出不会在CI中激发 也许可以通过pre_constructor_c
重定向('denied')
——这是一个非常基本的控制器,它加载一个非常基本的视图,表示“权限被拒绝”
但是,我想做的是,仍然加载最初请求的uri,但是加载“denied”视图而不是默认视图
我可以在我的_控制器中执行此操作,拒绝的视图加载良好。但是,这并不会停止原始控制器/方法的执行,因此我会加载这两个视图。我还试着放一个出口加载拒绝视图后MY_控制器中的code>语句,但这不可行,因为这样输出不会在CI中激发
也许可以通过pre_constructor_controller钩子实现这一点吗?我无法找到阻止控制器执行的方法…您必须让控制器执行,才能让请求的URI加载
在MY_Controller
中检查ACL后,如果不允许,您可以在那里加载denied
视图,但在退出之前,您还需要做一件事
$this->load->view('denied');
$this->output->_display();
exit();
太好了$这个->输出->\u display()就是我要找的。