## 权限控制系统介绍
### 思维导图

#### 租户平台权限说明
添加的下级租户实际上就是顶级租户的一个子账号而已,操作数据的时候,同样使用的就是顶级租户的用户ID,唯一的区分:
子租户能管理的菜单是由顶级租户进行分配的;
子租户操作日志显示为子租户相关的信息
子租户登录的时候也会是自己的账号和密码
子租户没有独立的余额,账单等等数据
#### 附加子租户信息

#### 获取子租户信息方式
1 任何集成了基类控制器 BaseController.php的类都可以通过$this->user->sub_member来获取到当前登录子租户的相关用户信息
2 通过$this->user来获取当前登录子租户的顶级租户用户信息如果要获取顶级租户ID通过$this->user['id']
3 获取顶级租户信息
$Member = \app\manage\model\Member::getTop($member_id);

#### 租户端添加子租户角色操作
1 一定要选择用户基础权限节点,不然好多基础操作不能进行

#### 路由中间件和路由文件说明
1 路由文件比如要定义每个系统要用到的路由【为了安全和自由定制路由,框架已经强制开启了路由】
2 框架有多个中间件,Login.php为登录中间件,如果路由设置了走这个中间件,用户请求路由携带token就会把相应的用户信息自动挂载到$this->request->userInfo对象上,如果middleware(buwang\middleware\Login::class, true)第二个参数为true,则用户请求路由如果检测到token失效或者未登录,就会自动进行强制让用户登录才能访问,如果是AJAX请求就会返回401状态码,如果是模板渲染请求就会强制进行跳转到登录页
3 Auth.php中间件是用来对请求的路由惊醒权限控制判断的,所有的需要鉴权的路由只需要在路由文件里定义执行这个中间件就可以自动鉴权了
4 还有个signcheck.php中间件,将来用于前后端接口API请求参数验证合法性用的
5 ViewInit.php用来初始化模板相关信息的,一般开发者不用管


- bwsaas框架介绍
- 框架安装配置指南
- 宝塔安装
- 环境配置要求
- 阿里云OSS配置
- 阿里云API短信配置
- 物流API配置
- 配置运营平台域名CDN加速
- 队列配置
- 安装常见问题
- 全局配置
- 界面UI展示
- 老版本layui主要界面
- 新版本ElementPlusUi租户后台管理
- 新版本ElementPlusUi总后台管理
- 新版本ElementPlusUi名牛云商城
- 目录结构
- 框架应用开发
- 开发配置管理
- 权限控制介绍
- 注意事项说明
- 代码开发规范
- 常见问题
- 一键生成后台管理CRUD
- 微信第三方开放平台申请
- 升级日志
- 版本升级指导
- 插件开发
- 开发流程
- 目录文件
- 插件addons的打包
- 插件分类
- 应用安装卸载购买
- 应用配置功能套餐
- SAAS框架二开
- 控制器
- 参数验证器使用
- 框架常用函数
- 支付相关
