一 用户体系

- 登陆账户(LoginAccount):登录平台的唯一凭证,每个人或系统仅有一个登陆账户。一个登录账户,可以拥有多个平台用户,登陆后需要进行选择;
- 租户(Tenancy):资产所有者,平台的服务对象单位、结算单位,租户有两种身份:个人、机构。机构租户允许创建多个用户;
- 个人租户(Person):以个人身份使用平台的用户;
- 机构租户(Organization):以机构身份使用平台的用户,其所有在平台上创建的内容,都归属于机构,机构可以管理自己下面的所有机构用户,一旦使用者在某个机构的机构用户被关闭,就不能在查看机构用户下的资产;
- 用户(User):平台的使用者,一个用户有且仅有一个个人用户,但是可以有多个机构用户,机构用户由主用户创建;
- 个人信息(Person):个人的基本资料,以及实名相关信息;
- 机构信息(Organization):机构的基本资料,以及实名相关信息;
二 数据状态
数据状态是平台内所有业务实体都具备的属性,表示一条数据的状态,包含了多个状态。为了尽量减少存储空间,将修改、删除、审核的功能都统一放到了数据状态中。
数据状态枚举全名:com.MetaPattern.Core.Infrastructure.Common.EnumElementStatus

【状态说明】
- Valid:值为1,有效的,数据为有效状态,默认查询数据都是查询有效状态的数据
- Update:值为2,修改中,审核所使用的状态,代表数据在编辑,不能发布
- Deleted:值为4,已删除,被逻辑删除的数据
- Back:值为8,已退回,审核失败退回状态,可以进行编辑后重新提交审核
- Audit:值为16,审核中,处于审核过程中的状态,需要有权限的用户进行审核
【方法说明】
- 保存:如果是审核实体,保存以后处于Update状态,否则,处于Valid状态
- 删除:不管处于哪个状态,都可以进行逻辑删除,数据状态变更为Deleted
- 提交审核:对审核实体有效,状态由Update变为Audit
- 审核通过:对审核实体有效,状态由Audit变为Valid
- 审核退回:对审核实体有效,状态由Audit变为Back
- 编辑保存:对审核实体有效,审核退回状态的数据,进行编辑并保存后,状态变更为Update
- 恢复:逻辑删除的数据可以进行恢复,如果是审核实体,恢复后状态为Update,否则,状态为Valid
三 权限系统
平台基于RBAC(Role-Based Access Control)模型来构建权限系统,在标准的RBAC基础之上,做了一定的扩展,以满足更加复杂的权限控制场景。

【定义】
- 账户:系统的登录账户,账户并不等同于用户,请参考前面的用户体系
- 角色:一系列权限的集合,角色和账户之间是多对多的关系
- 权限:定义允许对某个资源的某个操作,权限和角色之间是多对多的关系
- 资源:也叫可空资源,是指系统内需要进行权限控制的所有元素,包括菜单、页面、控件、接口等
- 操作:针对资源可允许的操作,不同的资源对应不同的操作,由于不影响使用,所以图里面省略了对资源和操作对应关系的设计
【操作】
- 创建(create):可以创建实体
- 逻辑删除(delete):可以逻辑删除实体
- 物理删除(remove):可以物理删除实体
- 恢复(restore):可以将逻辑删除的实体进行恢复,变为有效数据
- 更新(update):可以编辑实体
- 审核(audit):可以审核实体,只对审核实体有效
- 获取(get):可以查询实体,包括单个查询和分页查询
- 访问(visit):可以访问资源
- 浏览(view):可以浏览资源,可浏览则对用户可见,比如:按钮
- 点击(click):可以点击资源,比如:按钮
- 执行(execute):可以执行资源,比如:api、商业逻辑等
【资源类别】
所有资源,在发布流水线的时候会根据模型生成,并初始化到数据库及程序中,并且,会预置一个超级管理员,对应用下的所有可控资源拥有完整的权限。可以通过在模型中进行设置,来讲某些资源加入或移除出权限控制。

四 GIT账户集成
基于对GIT管理方面的安全和兼容性,统一使用个人访问令牌方式管理所有账户
个人访问令牌必须包含对仓库的读取、写入、状态查询、权限,其余权限均可不要
所有的用户名均为正常git操作时登陆账户(非邮箱)
4.1 GitHub
- 登录到你的 GitHub 账户;
- 在右上角点击你的头像,然后选择“Settings”;
- 在左侧导航栏中,选择“Developer settings”;
- 点击“Personal access tokens”;
- 点击“Generate new token(classic)”;
- 给令牌一个名称,并为其设置所需的权限(如下图);
- 点击“Generate token”;
- 复制生成的令牌值,因为这是你最后一次可以看到它。

4.2 Gitee (码云)
- 登录到你的 Gitee 账户;
- 在右上角点击你的头像,然后选择“账号设置”;
- 在左侧导航栏,选择“安全设置”(Security settings);
- 在打开的页面中,选择“私人令牌”(Personal Tokens);
- 点击“生成新令牌”(Generate new token);
- 选择所需的权限,然后确认;
- 复制生成的令牌值。

4.3 Codeup
- 登录到你的 Codeup账户;
- 点击右上角的头像,选择“个人设置”;
- 在左侧导航栏中选择“个人访问令牌”;
- 输入名称和过期时间,并选择所需的权限;
- 点击“Create personal access token”;
- 复制生成的令牌值。

4.4 GitLab
- 登录到你的 GitLab 账户;
- 点击右上角的头像,选择“Settings(偏好设置)”;
- 在左侧导航栏中选择“Access Tokens(访问令牌)”;
- 填写令牌名称和过期时间,并选择所需的权限;
- 点击“Create personal access token”;
- 复制生成的令牌值。

推荐使用自建gitlab或者国内代码管理平台。github可能会出现网络问题导致git相关操作失败!!
请记住,在生成令牌后,务必将其保存在一个安全的地方,因为大多数平台不允许你再次查看或检索同一令牌。如果失去了令牌,你可能需要生成一个新的。同时,为了安全起见,不要将令牌分享给他人或公开在互联网上。
上一篇
元型云平台快速入门
下一篇