【发布时间】:2011-10-05 11:28:15
【问题描述】:
我制作了 CI 身份验证控制器,允许用户登录网站,登录后我将他重定向到我一直使用的之前访问过的 URL:
$this->session->set_flashdata( 'return_url', current_url() );
不幸的是,这会导致问题。每次当用户在浏览器中打开多个选项卡时,该变量都会被覆盖,并且在成功登录后,用户会被重定向到所有选项卡中的相同 URL。
所以我的问题是:是否可以在 MY_Controller 中加载自定义控制器?(MY_Controller 是 extends CI_Controller 的类)
我尝试使用(在MY_Controller 的构造函数中)但没有成功:
$CI =& get_instance();
$CI->router->set_class('authentication');
$CI->router->set_method('login');
编辑:我会感谢解决此问题的任何其他想法。
【问题讨论】:
-
不,在 CI 中你不能用另一个控制器调用一个控制器。
-
为什么不使用自动加载的模型进行身份验证?我将身份验证系统编写为模型并自动加载它,但从未遇到过问题。我什至在构造方法中定义了定义,这甚至使我的代码更整洁+更易于阅读。
标签: php codeigniter authentication