2

MY_Controllerで実行されているACLがあります。許可が拒否された場合、現時点では、redirect('denied')これは非常に基本的なコントローラーであり、「許可が拒否されました」という非常に基本的なビューをロードします。

ただし、代わりに実行したいのは、最初に要求されたURIをロードすることですが、デフォルトのビューの代わりに「拒否された」ビューをロードします。

これはMY_Controllerで実行でき、拒否されたビューは正常に読み込まれます。ただし、これによって元のコントローラー/メソッドの実行も停止されないため、両方のビューが読み込まれます。exit;また、拒否されたビューをロードした後、MY_Controllerにステートメントを配置しようとしましたが、出力がCIで起動しないため、これは機能しません。

pre_constructor_controllerフックを介してこれを行うことはおそらく可能ですか?コントローラの実行を防ぐ方法がわかりませんでした...

4

1 に答える 1

9

要求されたURIをロードさせるには、コントローラーを実行させる必要があります。

ACLをチェックインした後、MY_Controller許可されていない場合は、そこにビューをロードできますdeniedが、終了する前にもう1つ実行する必要があります。

$this->load->view('denied');
$this->output->_display();
exit();
于 2012-05-01T14:33:42.897 に答える