コントローラの機能へのアクセスをすべてキャッチし、認証されていれば通常どおりにルーティングし、そうでない場合はログインフォームを表示します。CodeIgniter:ルーティングと認証
_remapは、コントローラの機能へのアクセスと、認証された場合のルーティングをCIに戻す方法を確認するのに最適な場所として機能しますか?
コントローラの機能へのアクセスをすべてキャッチし、認証されていれば通常どおりにルーティングし、そうでない場合はログインフォームを表示します。CodeIgniter:ルーティングと認証
_remapは、コントローラの機能へのアクセスと、認証された場合のルーティングをCIに戻す方法を確認するのに最適な場所として機能しますか?
_remap
はこのためには必要ありません。あなたはそれを使うことができますが、する必要はありません。
コントローラの__construct()
メソッドでのアクセスを確認します。現在の方法は$this->router->fetch_method()
で取得し、それに対して認証することができます。
さらに、これを必要とするすべてのコントローラーをベースコントローラー(別名「MY_Controller」)に拡張してください。 Auth_Controller
と書いて、そこで__construct()
の認証チェックを行うことができます。現在のクラスは$this->router->fetch_class()
で取得することができますが、このメソッドを使うには、コントローラーが通常CI_Controller
の代わりにAuth_Controller
を拡張していることを確認してください。
アクセス権がない場合は、必要な場所にリダイレクトするか、エラーを表示するだけです。
あなたはこの
$class = $this->CI->router->class;
$method = $this->CI->router->method;
によってメソッドとクラス名を取得することができますし、この認証にあなたがあなたからhooks
を有効にしているたびにチェックするためにライブラリがAuthentication
呼ば作成し、この
であなたの方法についてご確認ください設定ファイルには、post_controller_constructor
フックを付けて毎回認証を確認してください。
良い代替、感謝! – Vitaly
各リクエストでユーザーを認証しますか? – Dau