概述
对于新系统,如果说初始化组织机构是第一步工作,那么初始化用户则是第二步工作。今天来介绍系统管理模块中的用户使用说明。
对于企业应用,人员是重要的基础数据。
在不少平台和系统中,对“人”的概念进一步细分,将人员与用户区分来。人员对应真实世界中的人,用户则特指具备系统操作账号的人。人员和用户的关系通常是一对一的,当然也不排除个别系统允许1个人对应多个账户。
将人员独立出来,有人员没用户,意味着这部分人员,不需要登录和操作系统,如某些业务场景下的专家库。但是,这类场景下,需要根据业务需求建立单独的实体,因为要更多特定的业务属性需要承载,不会复用平台的人员实体。
考虑到大多数业务场景下,其实没必要细分人员和用户的区别,我的平台中,系统的人员,同时拥有系统的操作账号,即人员和用户实际是一回事,统称为用户。
属性
- 姓名:用户的名字,核心属性。
- 账号:登录系统的编码,全局唯一。根据企业管理习惯,可能是入职顺序号(工号),也可能是姓名按照一定规则的变种,如李建国编为jgli。
- 密码:登录系统的密码,新用户创建时会设置一个默认的统一密码。该密码实现了配置化,修改系统配置文件application.yml中的platform-config.system.userInitPassword属性即可。如果对系统安全性要求更高,则可以扩展具体实现方式,生成随机密码。平台会采用单向加密算法处理后存库,系统管理员即使直接查看数据库也无法知晓原始密码是什么,只能通过系统重置密码。
- 组织机构:用户归属哪个组织机构。大多数平台或系统用户与组织机构是多对一关系,个别情况下是允许多对多,如某集团副总裁同时兼任某公司的总经理,不过这种岗位和权限上的控制,往往不是通过用户挂靠在多个组织机构下这种方式来实现,而是通过角色来实现。
- 状态:用户比组织机构多了一个锁定状态,用于某些特定场景临时限制用户登录系统,如密码输出错误次数过多。注意,平台会通过调度任务来自动解锁,因此不能通过人为设置用户状态为锁定,来达到长时间禁止用户登录系统的目的,此时应使用停用功能。
- 强制修改密码:系统安全考虑,新建用户或管理员重置密码后,将该标识位设置为是。用户登录系统时会判断该标识位,如为是,则弹出密码修改对话框强制用户修改密码。
- 登录失败次数:系统安全考虑,记录用户登录输入错误密码的次数,达到预设次数后,将该用户锁定,避免暴力破解密码。预设次数通过系统管理模块下的系统参数来设定。
- 锁定时间:记录用户锁定时间,平台通过调度任务每隔一定时间来验证用户锁定时长是否超过设置时长,若超出,则解除锁定。
- **职位:**这是实际是职位的描述,仅供参考,不用于业务逻辑处理。
- 性别、出生日期、手机号、邮箱、排序:用户基本属性,没什么好说的。
可扩展
直线领导:可以考虑将该用户的直接上级领导作为属性维护,主要用于流程审批,需要跟工作量集成部分整合,方案未定。
功能项
常规功能
新增:新增单条数据。
修改:修改单条数据。
删除:删除数据,这里的删除跟上文中的设置状态停用不同,是真正的删除(逻辑删除)。对于确认录入错误的数据,尚未被单据使用,应当彻底清理掉而不是将其状态设置为停用。删除时系统会清理为该用户关联的用户组(角色)数据,避免在用户与用户组关联表中残留垃圾对应关系数据。
查询:多条件组合,模糊匹配当前系统中的数据。
查看:查看单条数据。
复制新增:以某条数据为基础,拷贝方式快速创建数据。
扩展功能
启用、停用:快速设置状态。
重置密码:用户忘记密码时,联系系统管理员,由系统管理员重置密码。
手工解锁:管理员手工解除账号锁定状态,恢复正常,平台自动解锁调度任务一般间隔只有5分钟,所以该功能一般情况下用不到。
批量导入:通过预置的excel模板,填充数据,上传并批量导入,导入时附带了数据验证。注意,本功能的目的主要是实现用户初始化功能,功能实现内部是新增,如数据已存在,会提示。批量导入功能在规划设计上不具备批量更新数据的职责,用户的更新需求,通过系统修改功能直接操作,。
批量导出:批量导出到excel表中,该功能与数据查询进行了结合,将查询结果导出,因此既可以导出全量数据(查询条件为空),也可以只导出经过查询条件筛选后的数据。
下载模板:辅助功能,下载批量导入的exce模板。
设置用户组:这里的用户组等同于权限控制体系中的角色概念,用户可以隶属多个用户组,用户组关联权限项,从而实现权限控制。这里只是简单一提,后面会详细介绍平台的权限控制。
注:若需了解该功能excel导入导出相关设计与实现,参见https://blog.csdn.net/seawaving/article/details/131299250。
界面设计
树表查询
用户主要通过组织机构来管理,采用左树右表的方式,左侧为组织机构树,参与数据查询。点击树节点时自动查询该组织机构下的用户。
右侧上方为查询区域,可灵活组合多种查询条件,筛选需要的数据。
此外,为应对全局搜索的需求场景,附加了一个“查询全部”的复选框,勾选后将忽略当前选择的组织机构。
新建/修改/查看
这三个功能界面差不多,操作上略有差异。
新建会打开空白表单,部分属性以默认值填充。
修改则会查询数据库,填充实体属性值,在此基础上修改。
查看也是查询数据库填充实体属性,但不能保存。
Excel模板
对于用户归属的组织机构而言,有可能存在重名,如生产一部和生产二部两个部门下各存在一个名称为“1号车间”的部门,这时候通过上级名称就没法确定这条数据到底要导入到哪个部门下,因此引入了组织机构编码。编码是全局唯一的,系统处理时优先找编码,编码为空的时候再通过名称来处理,如还是找到多个同名部门,则放到一个名为“未分配”预置组织机构里,转人工处理。
数据导出结果
开源平台资料
平台名称:一二三开发平台
简介: 企业级通用开发平台
设计资料:csdn专栏
开源地址:Gitee
开源协议:MIT
欢迎收藏、点赞、评论,你的支持是我前行的动力。