| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- <?php
- use DB;
- use DbCriteria;
- use Useradmin;
- use Yii;
- /**
- * 这个类主要是用来处理admin平台的账号权限
- */
- class LewaimaiAdminPingtaiAuth
- {
- public static $authIds = [];
- /**
- * @var array 不需要登入的 routers
- */
- public static array $noLoginRouters = [
- 'site/login',
- ];
- /**
- * @var array 不需要权限检测的 routers
- */
- public static array $noAuthCheckRouters = [
- 'useradmin/info', // 用户信息
- 'useradmin/setting', // 密码修改
- 'useradmin/checkpwd', // 密码修改检测
- ];
- /**
- * @var array 超级管理员才能有操作的 routers
- */
- public static array $superAdminRouters = [
- ];
- public static function getAuth($num = 0)
- {
- if (empty($num)) {
- return false;
- }
- 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' => 110200, // 角色列表
- 'useradmin/saveroleauth' => 110201, // 菜单权限
- 'useradmin/savedataauth' => 110201, // 数据权限
- 'useradmin/editrole' => 110202, // 编辑角色
- 'useradmin/deleterole' => 110203, // 删除角色
- 'useradmin/userlist' => 110100, // 用户列表
- 'useradmin/edituser' => 110101, // 编辑用户
- 'useradmin/deleteuser' => 110102, // 删除用户
- // =================== 学校 =======================
- 'school/list' => 120100,
- 'school/info' => 120100,
- 'school/add' => 120101,
- 'school/edit' => 120102,
- 'school/updateattr' => 120102,
- 'school/delete' => 120103,
- // =================== 学校关系 =======================
- 'schoolrelation/list' => 120200,
- 'schoolrelation/info' => 120200,
- 'schoolrelation/add' => 120201,
- 'schoolrelation/edit' => 120202,
- 'schoolrelation/updateattr' => 120202,
- 'schoolrelation/delete' => 120203,
- // =================== 学校跟进 =======================
- 'follow/schoollist' => 120300,
- 'follow/schoolall' => 120300,
- 'follow/schoolinfo' => 120300,
- 'follow/schooladd' => 120301,
- // =================== 食堂 =======================
- 'canteen/list' => 130100,
- 'canteen/info' => 130100,
- 'canteen/add' => 130101,
- 'canteen/edit' => 130102,
- 'canteen/updateattr' => 130102,
- 'canteen/delete' => 130103,
- // =================== 食堂跟进 =======================
- 'follow/canteenlist' => 130300,
- 'follow/canteenall' => 130300,
- 'follow/canteeninfo' => 130300,
- 'follow/canteenadd' => 130301,
- // =================== 餐饮公司 =======================
- 'company/list' => 140100,
- 'company/info' => 140100,
- 'company/add' => 140101,
- 'company/edit' => 140102,
- 'company/updateattr' => 140102,
- 'company/delete' => 140103,
- // =================== 餐饮公司关系 =======================
- 'companyrelation/list' => 140200,
- 'companyrelation/info' => 140200,
- 'companyrelation/add' => 140201,
- 'companyrelation/edit' => 140202,
- 'companyrelation/updateattr' => 140202,
- 'companyrelation/delete' => 140203,
- // =================== 餐饮公司跟进 =======================
- 'follow/companylist' => 140300,
- 'follow/companyall' => 140300,
- 'follow/companyinfo' => 140300,
- 'follow/companyadd' => 140301,
- ];
- return !empty($pageAuth[$page]) && self::getAuth($pageAuth[$page]);
- }
- }
|