private function check_auth() { // 访问授权检查 if ($_COOKIE['userrole'] === 'admin') { return TRUE; } $controller = LB::get_instance()->get_controller(); $config = lb_read_config('auth', $_COOKIE['userrole']); if (!$config || !in_array($controller, $config)) { return FALSE; } return TRUE; }
/** * 地址解析 * * @access public * @return string $controller 控制器 */ public function dispatch() { $request = parse_url(strtolower(preg_replace('/\\/$/', '', $_SERVER['REQUEST_URI']))); $path = preg_replace('/^\\/index.php/', '', $request['path']); foreach ((array) lb_read_config('intercept') as $intercepter => $url) { if (preg_match('/^' . str_replace('/', '\\/', $url) . '$/', $path)) { if (!is_null($controller = lb_call_intercepter($intercepter))) { return $controller; } } } foreach ((array) lb_read_config('route') as $controller => $url) { if (preg_match('/^' . str_replace('/', '\\/', $url) . '$/', $path)) { return $controller; } } }
/** * 读取静态配置 * * @param string $key 配置索引 * @return type $config 配置值 */ function lb_read_static($key = '') { return lb_read_config('static', $key); }