Ошибка входа в мой HMVC Code Igniter

у меня проблема с входом в приложение. в моей аутентификации при входе в систему создается имя библиотеки «auth», и я также вызывал «auth» в автозагрузке, но когда я вызываю функцию в «auth», ошибка говорит

Message: Undefined property: Auth::$session

вот моя библиотека "auth"

class Auth {
    public function cek_auth()
    {
        $this->ci =& get_instance();
        $this->sesi  = $this->ci->session->userdata('isLogin');
        $this->hak = $this->ci->session->userdata('stat');
        if($this->sesi != TRUE){
            $this->session->set_flashdata("pesan", "Sesi Login anda telah habis");
            redirect('user/login');
            exit();
        }

    }
    public function hak_akses($kecuali="")
    {
        if($this->hak==$kecuali){
            echo "<script>alert('Anda tidak berhak mengakses halaman ini!');</script>";
            redirect('dashboard');
        }elseif ($this->hak=="") {
            echo "<script>alert('Silahkan Login!');</script>";
            redirect('c_login','refresh');
        }else{

        }
    }
}

мой контроллер: класс Dashboard расширяет CI_Controller{

function __construct()
{
    parent::__construct();
    $this->auth->cek_auth(); //ngambil auth dari library
}
function index()
{
    $hak_akses = $this->session->userdata('lvl');
    if($hak_akses==1) {

        $data['content'] = 'dashboard';
        return $this->load->view('theme/index', $data);
    }

}

}

и моя автозагрузка:

$autoload['libraries'] = array('database','form_validation','session','auth','parser'); 

пожалуйста, дайте мне лучшее решение, спасибо


person Gusti Erlangga    schedule 03.04.2017    source источник


Ответы (2)


Если вы используете сеанс в своем коде, обязательно загрузите его автоматически в файле config.php, установив ключ шифрования. Если вы не загружаете его автоматически, вы можете загрузить его с помощью $this->load->library('session'). Но вы должны установить ключ шифрования для автоматической загрузки или загрузки сеанса в функциях контроллера.

Ссылка: Неопределенное свойство: CI::$session.

Надеюсь это поможет :)

person Dinesh Kumar    schedule 03.04.2017

Попробуйте загрузить библиотеку сеансов внутри

public function __construct()
{
    $this->ci =& get_instance();
    $this->ci->load->library('session');
    $this->sesi  = $this->ci->session->userdata('isLogin');
}
person Mr. ED    schedule 03.04.2017