2017-10-31 7 views
0

メンテナンスモードがオンの場合。正しいロールIDを持つホームページへのアクセスを許可しない

メンテナンスモードがオンの場合でも、ホームページを表示することができます。どのようにすることができます:

しかし、メンバーのセッションROLE_ID = 1

は、現在、私のセッションrole_id == 1がメンテナンスページへ

質問をリダイレクトし続けていても、私は全くのホームページを表示できない場合にのみ、メンテナンスモードがアクティブな場合でもホームページを確認できますが、セッションの場合はrole id == '1'

public function maintenance_mode() { 

    $maintenance_mode = $this->is_maintenance(); 

    if ($maintenance_mode) { 

     if ($this->session->userdata('role_id') == '1') { 
      return true; 
     } else { 
      $route = $this->uri->segment(1) .'/'. $this->uri->segment(2); 

      $ignore = array('common/maintenance'); 

      if (!in_array($route, $ignore)) { 
       redirect(base_url('common/maintenance')); 
      } 
     } 
    } 
} 

public function is_maintenance() { 
    $query = $this->db->where('item', 'maintenance_mode')->get('settings')->row('value'); 
    return $query; 
} 

答えて

0

ソリューション

私の質問のコードは問題ありませんでした。私はその問題を発見した。それはexample.co.nz

私はCookieドメイン

$config['cookie_prefix'] = ''; 
$config['cookie_domain'] = '.example.co.nz'; 
$config['cookie_path']  = '/'; 
$config['cookie_secure'] = FALSE; 
$config['cookie_httponly'] = FALSE; 

$config['sess_driver'] = 'files'; 
$config['sess_cookie_name'] = 'ci_sessions'; 
$config['sess_expiration'] = 7200; 
$config['sess_save_path'] = APPPATH . 'cache/sessions/'; 
$config['sess_match_ip'] = TRUE; 
$config['sess_time_to_update'] = 300; 
$config['sess_regenerate_destroy'] = TRUE; 
を追加する必要が

ためwww.example.co.nz用と1回のセッションを作成していました

関連する問題