2012-05-01 12 views
1

を実行し、私はMY_Controllerで実行されているACLを持っています。パーミッションが拒否された場合、現時点では私はredirect('denied')を実行します。これは非常に基本的なコントローラで、パーミッションが拒否されているという非常に基本的なビューです。防止コントローラから

しかし、私が代わりにやりたいものを、まだ最初に要求されたURIをロードし、代わりにデフォルトのビューの「拒否された」ビューをロードしています。

私はMY_Controllerでこれを行うことができ、および拒否されたビューは罰金ロードします。しかし、これで元のコントローラー/メソッドも実行されなくなるわけではないので、両方のビューがロードされます。私はまた、拒否ビューをロードした後にexit;ステートメントをMY_Controllerに入れてみましたが、出力がCIで発生しないため、これは実行できません。

はpre_constructor_controllerフックを経由してこれを行うには、おそらく可能ですか?私はあなたが、コントローラは、要求されたURIの負荷をさせるために実行させる必要があり...

答えて

7

を実行するから、コントローラを防止するための方法を考え出すことができませんでした。

MY_ControllerでACLを確認した後で許可されていない場合は、deniedビューを読み込むことができますが、もう一度終了する必要があります。

$this->load->view('denied'); 
$this->output->_display(); 
exit(); 
+1

パーフェクト! $ this-> output - > _ display()は私が探していたものです。 – JonoB

+0

私はそれが助けてうれしいです:) – Broncha