3

Code Igniter 2.0 および PHP 5.2 で Ion Auth を使用すると、次のエラーが発生します。

ErrorException [ Notice ]: Undefined property: Practice::$ion_auth
SYSDIR/core/Model.php [ 50 ]

その行のコードは次のとおりです。

45      * @access private
46      */
47     function __get($key)
48     {
49         $CI =& get_instance();
50         return $CI->$key;
51     }
52 }
53 // END Model Class
54 
55 /* End of file Model.php */ 

このバグの奇妙な点は、最初に同じドメインの制限されていないページに移動せずに「制限された」ページにアクセスしようとすると、忍び寄るように見えることです。つまり、ブラウザを開いて example.com/restricted と入力すると、エラーが発生します。しかし、example.com/login と入力して THEN (正しくログインしていない場合でも) example.com/restricted に移動すると、(実際にログインしたかどうかに応じて) 許可されるか、正しくリダイレ​​クトされます。

この問題を引き起こしているのは何なのか、一生わかりません。以下は、Ion Auth Library を使用した一部のコントローラーのコンストラクターの例です。

class Home extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->load->helper('url');
        $this->load->library('firephp');

        //ION
        $this->load->library('Ion_auth');
        $this->load->library('session');
        $this->load->library('form_validation');
        $this->load->database();
    }

class Practice extends CI_Controller {

    var $user;
    var $game;

    function __construct() {
        parent::__construct();

        // ION Auth
        $this->load->library('Ion_auth');
        $this->load->library('form_validation');
        $this->load->library('session');

        // Defaults
        $this->load->helper('url');
        $this->load->library('firephp');

        // Models
        //$this->load->model('Ion_auth_model');
        //$this->load->model('Player');
        $this->load->model('Practice_Game');



        // User must be logged in to use this controller
        // If user is logged in then we get his info as a class variable
        if ($this->ion_auth->logged_in()) {
            $this->user = $this->ion_auth->get_user($this->session->userdata('user_id'));
        } else {
4

1 に答える 1

1

私は同じ問題を抱えていました。この問題は、記憶されたログインが自動ログインされ、イオン認証がまだロードされていないプロパティを使用しようとしたときに発生します。

このプル リクエストと次のコミットを確認できます。

https://github.com/benedmunds/CodeIgniter-Ion-Auth/pull/46 https://github.com/benedmunds/CodeIgniter-Ion-Auth/commit/ba6d09299cd7469835ab3ad7fb1a4333de88d468

于 2011-06-22T10:16:21.003 に答える