Example #1
0
 /**
  * @param $request
  * @param $response
  * @return mixed
  */
 public function dispatching(Swoole\Request $request, Swoole\Response $response)
 {
     if (defined('ROUTE') && ROUTE) {
         $uri = $request->getRequestTarget();
         $router = Route::parse_routes($uri);
         if ($router) {
             $_controllerName = array_shift($router);
             $_actionName = array_shift($router);
         } else {
             $_controllerName = $request->get(self::_dCTL) ?: getini('site/defaultController');
             $_actionName = $request->get(self::_dACT) ?: getini('site/defaultAction');
         }
     } else {
         $_controllerName = $request->get(self::_dCTL) ?: getini('site/defaultController');
         $_actionName = $request->get(self::_dACT) ?: getini('site/defaultAction');
     }
     $controllerName = preg_replace('/[^a-z0-9_]+/i', '', $_controllerName);
     $actionName = preg_replace('/[^a-z0-9_]+/i', '', $_actionName);
     if (defined('AUTH') && AUTH) {
         $allow = Rbac::check($controllerName, $actionName, AUTH);
         if (!$allow) {
             $this->response(' 你没有权限访问 ' . $controllerName . ' - ' . $actionName, 500, $response);
             return false;
         }
     }
     return $this->execute($controllerName, $actionName, $request, $response);
 }