Skip to content

1.3 成员和组织架构

织信采用多租户架构,系统中用户分为系统账号 Account团队成员 CompanyMember应用成员 User 三种。系统账号通过注册或者管理后台添加, 每个Account可加入到多个团队中成为CompanyMember, 每个CompanyMember在团队中可以加入多个应用成为 User。每一个团队成员可以归属于一个或者多个部门 Dept,部门之间也有父子关系。每个部门可以有一个或者多个CompanyMember作为部门负责人。

用户结构

1.3.1 系统账号

系统账号的来源有以下几个途径

  • 用户自行注册
  • 系统管理员通过后台添加
  • 在脚本中调用informat.system.addAccount()函数添加

在管理后台可以对系统中的所有账号执行禁用,强制修改密码等操作。系统账号只是登录织信的凭证,在没有加入团队的情况下,在登录系统后不能执行任何操作。

1.3.2 团队成员

系统账号可以加入到多个团队中,在每个团队中CompanyMember会被赋予不同的团队角色,团队角色会关联其可以操作的权限,团队成员可以拥有多个角色。 关于角色权限,请参见角色权限。 每个团队默认会有两个角色

  • 管理员 拥有所有权限,可进行应用设计

  • 成员 只有使用应用的权限

    在加入团队时也需要设置团队成员所属的部门 Dept

image-20231213171737721

团队成员的来源有以下几种途径:

  • 用户创建账号后,自行创建团队后会将自己加入到团队中并赋予管理员角色
  • 接受邀请后加入团队
  • 管理员在管理后台将其加入到团队
  • 在脚本中调用informat.company.addCompanyMember()函数

移除团队成员有以下几种途径:

  • 在管理后台移除
  • 用户自行退出
  • 在脚本中调用informat.company.deleteCompanyMember()函数

1.3.3 应用成员

团队成员可以加入到多个应用中,在每个应用中User会被赋予不同的应用角色,应用角色会关联其可操作的权限,User可以拥有多个角色。

每个应用默认有一个管理员 admin的角色,拥有所有的权限。

image-20231213171832367

应用成员的来源有以下几种途径:

  • 应用管理员将用户加入到应用中
  • 应用管理员设置应用的授权方式为按照角色和部门授权,并且该团队成员的部门或者团队角色属于授权的范围
  • 在脚本中调用informat.user.addUser()函数

移除应用成员有以下几种途径:

  • 应用管理员将用户移除
  • 如果加入时的授权方式为按照角色和部门授权,并且该团队成员的部门或者团队角色不属于授权的范围
  • 在脚本中调用informat.user.deleteUser()函数

1.3.4 部门

在每个团队中,都可以构建部门组织架构树,来满足组织架构管理的需求。每个用户都至少需要加入一个部门,在用户信息中,在departmentList中会记录用户所在部门列表。

image-20231213173527218

部门的来源有以下几种途径:

  • 团队部署后,以该团队的名称自行创建团队
  • 应用管理员将自行创建部门
  • 在脚本中调用informat.dept.addDept()函数

移除部门有以下几种途径:

  • 应用管理员将用户移除
  • 在脚本中调用informat.dept.deleteDept()函数