私は、ユーザーがサイトにログインできるようにCI認証コントローラを作ったし、ログインした後、私は私が使用し続ける以前に訪問したURLに彼をリダイレクトしています。残念ながらCodeIgniterの認証概念の問題
$this->session->set_flashdata('return_url', current_url());
こと問題を引き起こす。ユーザーがブラウザの複数のタブを開いてその変数が上書きされるたびに、ログインに成功すると、ユーザーはすべてのタブの同じURLにリダイレクトされます。
だから私の質問は:それはMY_Controller内部のカスタムコントローラをロードすることは可能ですか?
$CI =& get_instance();
$CI->router->set_class('authentication');
$CI->router->set_method('login');
編集:私はこの問題を解決するための任意の他のアイデアを理解するだろう私は(MY_Controller
のコンストラクタ内で)使用してみましたが、それは働いていなかった
(MY_Controller
はextends CI_Controller
というクラスです) 。
いいえ、CIでは、別のコントローラーでコントローラーを呼び出すことはできません。 –
自動ロードモデルを認証に使用しないのはなぜですか?私はモデルとして私の認証システムを書いて、それをオートローディングしましたが、まだ問題はありませんでした。私はコードをもっと読みやすくするためにも、コンストラクトメソッドで定義を定義しています。 – Arda