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; }
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'); } }