现在,我们已经大致了解了 FreeAuth 中的基础功能,基于它们,您已经可以管理您系统中的所有用户。但是在大多数情况下,这还不够。很多系统或者软件都需要一套权限控制机制来差异化用户间能力,一些系统甚至还需要相对复杂的组织架构来搭建用户间的层级关系、丰富用户的身份信息。那么在本章节中,就让我们先来介绍一下组织管理模块。
组织管理
组织架构(Organizational Structure),是指为了实现组织的目标,在组织理论指导下,经过组织设计形成的组织内部各个部门、各个层次之间固定的排列方式,即组织内部的构成方式。 如果你的项目中并不涉及组织架构相关的需求,或者说不存在组织、公司、部门等概念的管理,您则可以跳过本小结,直接查阅
角色管理
模块。
首先,点击左侧菜单栏中的 组织管理
项,进入组织架构管理页面。如下图所示,页面右侧的内容版块被分为了两个部分,即左侧的树图形,用于维护组织层级,以及右侧的用户表格,用于展示和维护用户与左侧选中的组织(树节点)之间的关系。
组织类型
我们先来讨论左侧的部分。最上方一行是一个选择器,默认选中的是 内部组织
。这个选择器用于切换组织类型,这里你可以将组织类型想成不同类型用户的容器,或者叫做用户池,比如:内部用户的池子、外部合作商家的池子、随机访客的池子等。这里,系统默认自动创建了组织类型 内部组织
,因为大概率多数产品是会支持内部成员对产品系统进行管理的。
当然,FreeAuth 也支持您创建新的组织类型以适应您的产品需求。比如:您的系统的使用者包含供应商或者合作商家,他们分别的组织架构也与您的产品功能设计相关,又或者您只是想将这部分用户与您的内部用户进行隔离,此时我们建议您给他们创建一个新的组织类型,以收录相关用户及组织信息。
默认状态 | 点击组织类型选择器右侧的 + |
---|---|
要添加新的组织类型,您可以点击左侧最上方组织类型选择器右侧的 +
,然后点击展开的操作栏中的第一项组织类型
,下图中的创建表单则会弹出:
假设这里我们打算创建一个服务于供应商的组织类型,于是输入 供应商
到第一个输入框中。除了组织类型名称,该表单的另一个必填项是组织类型代码 code
,唯一排他的。
因为 code
可以包含字符且可以自定义,因此我们可以赋予它更多语意,比如 "SUPPLIER",这样一来,当您在基于 FreeAuth 研发更多业务层功能,需要针对某个特定组织类型下的人群进行判断时,您可以使用该类型的 code
来替代随机生成、没有任何含义的 uuid
进行判断。
当您填写好必要信息并点击保存后,新类型则随即生成并出现在上述的组织类型选择器的下拉选项中。注意:该选择器中的每个选项最右侧都有一个 ···
图标,点击它,则可对相应的组织类型进行编辑或删除等操作。
架构树图
在本章节的最初,我们有提到,组织管理的面板被分为了两部分,左侧是一个树结构的图形,用来展示组织间的关系,但实际上我们并没有看到任何树形图,只是在靠下的位置看到这样一行字 没有可用节点
。这是因为我们尚未在系统中创建任何组织,因此这棵树没有任何节点,显示为空。现在就让我们一起来创建几个组织,进行一个组织架构的规划。
首先,让我们将最上方的组织类型选择器切换到 供应商
,这意味着我们要在这个类型下创建组织了,然后再次点击选择器右侧的 +
,可见操作栏中的第二项名为 企业机构
,点击后,下图中的表单自动弹出:
很明显,这个表单仅要求了名称作为必填项,这是因为我们并不想将组织架构中的第一层限定为必须是一个合法在案的中国企业,它可以是一个社团、俱乐部,甚至是一个政府部门。但是,考虑到大多数产品(在我们以往经历过的项目中)都会将第一层用作收录公司信息,因此,我们在这里也额外提供了与中国企业信息相关的字段,但均为选填。
现在,让我们录入 百晓科技(北京)有限公司
到名称输入框中,并点击保存按钮。成功后,如下图所示,该企业则作为一个根节点出现在了组织架构树形图中。
接下来,让我们一起看一下如何为这个企业创建分支,又或称为部门。这里有两种方式:
第一种,仍然是点击最上方组织类型选择器右侧的 +
,展开操作栏的第三项名为 部门分支
,点击后,相应的表单对话框弹出。在这个表单中,最上面是一个 所属上级部门
的选择器,点击后会展开可多选的组织结构树形图,选择想要从属的上级组织,可以是根节点(比如:某个企业),也可以叶子节点(比如某企业中的某个部门)。然后录入部门名称,即可完成创建。
第二种方式是将鼠标挪至当前页面左侧的组织架构树形图中,用鼠标悬浮在需要添加分支的树节点上,此时,该节点的最右侧会出现图标 ···
,同样,点击后有一个操作栏展开,里面包含:添加分支
用于对该节点上的组织添加下属分支;编辑该项
用于编辑该节点上的组织信息;删除该项
用于删除该节点上的组织。
首先让我们来点击 添加分支
,类似上方添加部门分支的表单则会弹出。唯一的区别是,从这个地方触发的表单,无需选择 所属上级部门
,因为我们是将鼠标悬停在要添加分支的节点上并打开的这个表单,这就意味着我们已经锁定了为谁添加分支,因此表单中的 所属上级部门
会被自动补充且锁定。
为了示例,我们在这里键入 研发部
到名称的输入框中并点击保存按钮,成功后,左侧的组织架构树形图则会即刻更新,展示出新建的组织节点,即 百晓科技(北京)有限公司
下方出现名为 研发部
的分支。同样,您也可以在 研发部
下添加新的分支,只需要将鼠标悬浮在树中的 研发部
上,并点击最后的图标,完成表单的录入,树形结构的两个层级则会变为三个层级。如下图所示,为了更好的展示树结构的样式,我们还为 研发部
也创建了下一个层级的分支,名为 小组A
。理论上,您可以在这里创建无数个层级,但这对树结构的显示性能并不友好,建议您合理规划组织架构。
添加前 | 添加后 |
---|---|
最后,我们再次强调,这里的第一个层级并非必须是企业,它可以是任何形式的组织,只需要一个名称。
成员表格
搭建好组织架构后,我们就要来看一下如何将用户归属到某个组织中。首先,在左侧的组织结构树形图中选中你要操作的组织节点,此时右侧的成员列表中,会自动过滤出直接归属于或间接归属于(比如:归属于该组织的某个分支)所选组织的用户信息。因为我们尚未对任何用户进行组织归属的配置,所以此时右侧的成员列表暂为空。然后,点击表格右上角的 添加成员
按钮,关联组织与用户的表单则会呈现在您的眼前,如下图所示。
第一种场景,您想添加的成员是一个在系统中已有账号的用户,也就是说您可以在用户管理表格中查到该账号。那么此时您只需要在表单下方的搜索框中,录入该用户的名称、用户名、手机号或者邮箱,系统会随着您的录入进行模糊搜索。选中目标用户后,点击保存按钮,该用户与所选组织之间的关系完成建立。注意:此处允许批量关联多个现有用户。
第二种场景,您想添加的成员尚无账号,也就是说该成员不仅需要与组织进行关联,还需要首先拥有一个账号。这种情况下,您可以将表单靠上方的单选项由 添加已有用户
选为 创建全新用户
。切换后,如下图所示,表单的下半部分滑出了与之前展示过的创建新用户相同的内容。当您按照需求录入好信息并点击保存后,系统将会为该用户先创建一个账号,然后建立其与所选组织的归属关系。至此,该用户将会同时出现在当前的成员列表中,以及用户管理页面的用户表格中。
至于该成员列表,同系统中其他管理表格一样,最后一列是操作栏,点击图标 ···
,则会出现以下的行操作选项:
- 禁用账号:该操作仅会出现在
正常
用户的操作栏中,点击后,用户状态则由正常
变为停用
。 - 启用账号:该操作仅会出现在
停用
用户的操作栏中,点击后,用户状态则由停用
变为正常
。 - 变更组织:该操作用于更新用户的组织归属,至少需要关联所在组织类型下的某一个组织。
- 办理离职:该操作用于解绑该用户与所在组织类型下的所有组织的关系,操作后,该用户则不再有组织归属,且同时被停用。
此外,不同于其他管理表格,该成员列表的搜索框右侧有一个勾选框名为 仅展示部门的直属成员
。勾选后,表格中的结果仅包含那些与左侧树结构中所选组织有直接关联的用户。取消勾选后,表格中则会既展示与所选组织有直接关联的用户,又展示有间接关联的用户,即其组织归属是所选组织的下属分支。比如,在下图中 仅展示部门的直属成员
没有被勾选,因此 Xenia Lu 和 Daisy Dai 都出现在了成员列表的表格中,即便 Xenia Lu 并不直属左侧所选的组织 百晓科技(北京)有限公司
,但因为其所属的 研发部
是百晓的分支,则同样会出现在列表当中。如果此时勾选了 仅展示部门的直属成员
,则只有 Daisy Dai 会被保留在列表中,因为目前只有该用户直属于 百晓科技(北京)有限公司
。
企业表格
相信您已经留意到,右侧表格最上方的选项卡除了 成员列表
,还有 企业信息
,用于显示左侧最上方选中的组织类型下的所有企业(第一层组织)的数据。
如果你的产品设计并不涉及任何企业概念,您可以跳过这一小节。然而,如果您组织架构里的第一个层级作为企业级进行了维护,您则可以点击选项卡 企业信息
来查看某个组织类型下的所有企业信息。例如下图中表格,则展示了所有 供应商
类型下创建的企业。同样,可以直接在这个表格里对某一行的企业进行操作,也可以点击右上角的 创建企业
完成对新企业的创建。
绑定/解绑用户
要绑定或解绑用户与组织间的关系,FreeAuth 提供了两个地方可以进行操作。第一个地方则是我们之前提到的成员列表,即列表右上角的添加按钮,以及列表中行操作里的变更组织及办理离职。第二个地方则是在用户的详情页中。首先,让我们回到用户管理表格中,找到要操作的用户,点击其姓名进入到详情页。我们之前有提过会重新来看这个页面中的其他选项卡,此处我们要介绍的就是第二个选项卡 组织归属
,里面列出了当前用户所关联的所有组织。
如果您想解除用户与某个组织的关系,则可以点击组织列表操作栏中的 移除组织
,点击后,该条数据从表格中消失,表明关系得到解除。
如果您想更新用户的组织归属,则可以点击表格左下方的 变更组织
,弹出的对话框如下图所示,您可以在组织归属的树形选择器中重新勾选需要直接关联的组织。注意:单个用户可以关联多个组织。