Пример #1
0
 function menu($priv = array())
 {
     $CI =& get_instance();
     $priv = empty($priv) ? load_priv_by_role($_SESSION['user']['role']) : $priv;
     $CI->load->config('menu');
     $CI->load->config('privilege');
     $modules = $CI->config->item('modules');
     $purview = $CI->config->item('purview');
     foreach ($modules as $k => &$module) {
         if (isset($module['url'])) {
             if (!in_array($module['priv'], $priv)) {
                 unset($modules[$k]);
                 continue;
             } else {
                 $module['url'] = site_url($module['url']);
             }
         }
         if (isset($module['children'])) {
             foreach ($module['children'] as $j => $item) {
                 if (!in_array($item['priv'], $priv)) {
                     unset($module['children'][$j]);
                 } else {
                     $module['children'][$j]['url'] = site_url($module['children'][$j]['url']);
                 }
             }
         } else {
             $module['children'] = array();
         }
         if (empty($module['children']) && !isset($module['url'])) {
             unset($modules[$k]);
         }
     }
     return $modules;
 }
Пример #2
0
 public function auth()
 {
     $CI =& get_instance();
     /*$CI->load->helper('unit');*/
     $priv = load_priv_by_role($_SESSION['user']['role']);
     if (empty($priv)) {
         log_message('error', '角色的功能权限为空,请检查config/role.php角色配置文件');
         show_error('系统文件损坏,与管理员系统', 500);
     }
     /*$CI->load->config('privilege');*/
     $purview = $CI->config->item('purview');
     if (empty($purview)) {
         log_message('error', 'config/priv.php权限配置文件取不到值');
         show_error('系统文件损坏,与管理员系统', 500);
     }
     $is_allow_access = $this->is_allow($CI->router->class, $CI->router->method, $priv, $purview);
     if (!$is_allow_access) {
         //            show_error('你没有权限使用此功能', 403);
         redirect('/login/');
     }
 }
 public function auth()
 {
     $CI =& get_instance();
     $priv = load_priv_by_role($_SESSION['user']['role']);
     if (empty($priv)) {
         log_message('error', '角色的功能权限为空,请检查config/role.php角色配置文件');
         show_error('系统文件损坏,与管理员系统', 500);
     }
     $purview = $CI->config->item('purview');
     if (empty($purview)) {
         log_message('error', 'config/priv.php权限配置文件取不到值');
         show_error('系统文件损坏,与管理员系统', 500);
     }
     $is_allow_access = $this->is_allow($CI->router->class, $CI->router->method, $priv, $purview);
     if (!$is_allow_access) {
         $url = $_SERVER['REQUEST_URI'];
         if ($url == '/' || $url == '/login' || $url == '/login/index' || $url == '/login/index/') {
             $url = '/home';
         }
         $_SESSION['redirect_uri'] = $url;
         header('Location: /login');
     }
 }