我想只授予授权用户访问权限 所以我在构造方法中编写了身份验证代码 这是我的代码
class cp extends CI_Controller {
public function __construct(){
parent::__construct();
$this->this_mustbe_admin();
}
public function this_mustbe_admin()
{
$this->load->model('m_cp');
$md = $this->m_cp->is_admin();
if($md)
return $md;
else
{
redirect(base_url().'cp/login/');
}
}
function login()
{
$this->load->view('admin/login');
}
但我收到错误
The page isn't redirecting properly
如果我从构造中删除this_mustbe_admin
方法并将其放在其他控制器上它可以正常工作
function do_stuff(){
$this->this_mustbe_admin();
// do stuff
}
但这样我必须在我的每一个方法中写出
答案 0 :(得分:3)
您正在进行循环重定向。一个虚构的堆栈跟踪:
/cp/
__construct()
this->this_mustbe_admin()
- >重定向到/ cp / login /cp/login
__construct()
this->this_mustbe_admin()
- > GOTO 3。 在执行重定向生成命令之前,您必须检查尝试在__construct
中执行的方法。
if (!$this->router->method != 'login') {
$this->this_mustbe_admin();
}
答案 1 :(得分:0)
尝试这样写
redirect('base_url(cp/login)');
我希望可能是wrks ......或者只是简单地给予
redirect('cp/login');
因为当我像这样使用时我得到了