我正在使用CodeIgniter。我有一个名为abc
的控制器,我的函数名为index
,a
,b
和c
。
www.example.com/abc/
我希望该用户只能访问他登录的区域。
www.example.com/abc/ //if loggged in else back to homepage
或
www.example.com/abc/a/ //if loggged in else back to homepage
现在检查登录。我用:
if($this->auth->is_logged_in()) { .. } else { redirect('/'); }
单独的每个功能。
还有其他办法吗?
答案 0 :(得分:2)
我认为你可以通过覆盖构造函数并在其中调用函数来完成此任务。
<?php
class Blog extends CI_Controller {
public function __construct()
{
parent::__construct();
// check login
}
}
?>
答案 1 :(得分:1)
对于特定的控制器,您可以将if检查放入控制器的constructor
,以便在调用控制器的任何方法时,它将通过您的if检查
class Abc extends CI_Controller {
public function __construct()
{
parent::__construct();
//your if goes here
}
}
如果您想检查用户是否已在整个应用程序中登录,您可以使用__construct()
的构造函数方法CI_Controller
,以便在用户访问其中的任何控制器时进行验证你的申请
class CI_Controller {
private static $instance;
/**
* Constructor
*/
public function __construct()
{
//your if goes here
}
}