findByPk(Yii::app()->user->_id); $authIds = DB::getScalerWithCriteria('role', DbCriteria::simpleCompare(['id' => $model->role_id])->setSelect('auth_ids')); self::$_authIds = $authIds ? explode(',', $authIds) : []; } if (in_array($num, self::$_authIds)) { return true; } return false; } public static function adminAuth($controller, $action) { // 跳过不需要检测的 if(in_array($controller,["site","common"])){ return true; } $page = strtolower($controller . '/' . $action); if (in_array($page, self::$noAuthCheckRouters)) { return true; } /** * @var array $pageAuth 权限集开始检测 权限ID 和 asyncRoutes.ts 保持一致 * @link ./web/src/router/routes/asyncRoutes.ts */ $pageAuth = [ // =================== 用户及角色管理 ======================= 'useradmin/rolelist' => 1102, // 角色列表 'useradmin/saveroleauth' => 110201, 'useradmin/editrole' => 110202, 'useradmin/deleterole' => 110203, 'useradmin/userlist' => 1101, 'useradmin/edituser' => 110101, 'useradmin/deleteuser' => 110102, ]; return !empty($pageAuth[$page]) && self::getAuth($pageAuth[$page]); } }