2013-04-30 59 views
0

这里是我的模型类私有成员属性不工作CI

class Sessions_model extends CI_Model 
{ 
    private $permission = array() 
    public function __construct() 
    { 
     parent::__construct(); 
    } 

    public function is_login() 
    { 
     if($this->session->userdata('logged_in')) return TRUE; 
     else return false; 
    } 
    public function login($username,$password) 
    { 
     $this->db->where('username',$username); 
     $this->db->where('password',$password); 
     $query = $this->db->get('users'); 
     if($query->num_rows()==1){ 
      $user = $query->row(); 
      $this->set_authnication($user->id); 
      return TRUE; 
     } 
    } 
    public function logout() 
    { 
     $this->session->sess_destroy(); 
    } 

    public function set_authnication($user_id) 
    { 
     $this->load->helper('date'); 
     $query = $this->db->where('id',$user_id)->get('users'); 
     $user = $query->row(); 
     $auth_data = array(
      'user_id' => $user_id, 
      'logged_in' => 1, 
      'name' => $user->name, 
      'username'=> $user->username, 
      'email' => $user->email, 
      'role' => $this->initRole($user_id), 
      'lastVisitDate'=> now() 
     ); 
     $this->session->set_userdata($auth_data); 
    } 
    public function initRole($id) 
    { 
     $role_perm = array(); 
     $role = $this->db->where('id',$id)->get('roles')->row();   
     return $role_perm= array(
      $role->description => $this->getPerm($role->id) 
     ); 

    } 
    public function getPerm($id) 
    {  
     $perms = $this->db->where('role_id',$id)->get('permissions')->result(); 
     foreach ($perms as $perm) { 
      $this->permissions[$perm->permission] = true; 
     } 
     return $this->permissions; 
    } 
    public function hasPermTo() 
    { 
     // $this->getPerm('1'); 
     // return (isset($permissions[$perm]))? 'true' : 'false'; 
     // print_r($this->session->userdata('role')); 
     print_r($this->permissions); 
    } 

} 

当我洛的用户名和密码设置和调用set_authnication($ user_ID的)。当这种登录方式完成我已经得到了角色与权限.i设置我的私人属性与关联权限..所有事情似乎目前为止确定 我的概率当用户是authnicated来我试图验证这个用户有权限的类,所以我打电话功能 $ this-> sessions_model - > hasPermTo(); 但这次我的私人属性是空阵列()..它有第... 我不''是什么问题?

回答

0

你的私有变量是permission,但你的设置是permissions(注意S在最后)。