首页 > 解决方案 > 停用的用户重定向到从 ajax 请求登录

问题描述

谁能告诉我检查用户是否已激活并登录的最佳做法?以及如何从 ajax 请求中处理它?

如果用户被停用,则通过控制器上的 ajax 请求重定向到登录页面。

我正在制作一个辅助函数并在构造函数中调用它。

但如果用户被停用并返回“状态代码:303 See Other”,它不会重定向到登录

在控制器中:

function __construct()
{
    parent::__construct();
    $this->load->helper('auth_helper');
    if (!auth())
    {
        redirect('login/login_panel');
    }
}

辅助功能:

function auth()
{

    $CI =& get_instance();

    $user = true;
    if ($CI->session->userdata('user_id')) {
        $CI->load->model('users_model');
        $active = $CI->users_model->getActive($CI->session->userdata('user_id'));
        if ($active->active == '0' || $active->active == null) {
            $user = false;
        }
    } else {
        $user = false;
    }

    return $user;
}

标签: phpjqueryajaxcodeigniter-3

解决方案


尝试这个

function __construct()
{
    parent::__construct();
    $this->load->helper('auth_helper');
    if (!auth())
    {
        header('Location: login/login_panel');
        exit();
    }
}

推荐阅读