145 lines
9.2 KiB
Markdown
145 lines
9.2 KiB
Markdown
# Requirements Document
|
||
|
||
## Introduction
|
||
|
||
本文档定义了用户企业认证、身份认证和员工实名认证二维码功能的需求。该功能将在现有的若依系统中添加企业认证和个人身份认证能力,同时为员工管理模块添加基于CA服务的实名认证二维码机制,并实现基于认证状态的权限控制。
|
||
|
||
## Glossary
|
||
|
||
- **System**: 若依企业管理系统
|
||
- **User**: 系统用户,可以是企业管理员或普通用户
|
||
- **Employee**: 员工,在员工管理模块中管理的人员
|
||
- **Enterprise_Verification**: 企业认证,验证用户所属企业的合法性和真实性
|
||
- **Legal_Person_Verification**: 法人身份认证,通过CA服务验证法人身份以完成企业认证
|
||
- **Identity_Verification**: 身份认证,验证用户个人身份信息的真实性
|
||
- **QR_Code**: 二维码,用于快速扫描和认证的图形编码
|
||
- **Verification_Status**: 认证状态,包括未认证、认证中、已认证、认证失败
|
||
- **CA_Interface**: CA接口适配层,用于对接外部CA服务的接口层
|
||
- **Super_Admin**: 超级管理员,拥有所有系统权限的特殊用户角色
|
||
|
||
|
||
## Requirements
|
||
|
||
### Requirement 1: 用户企业认证
|
||
|
||
**User Story:** 作为系统用户,我希望能够通过法人CA认证进行企业认证,以便证明我所属企业的合法性并获得相应的系统权限。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 用户访问个人信息页面 THEN THE System SHALL 显示企业认证入口和当前认证状态
|
||
2. WHEN 用户提交法人CA认证申请 THEN THE System SHALL 验证企业信息和法人身份信息的完整性和格式正确性
|
||
3. WHEN 法人CA认证信息验证通过 THEN THE System SHALL 通过CA接口适配层调用外部CA服务进行法人身份认证
|
||
4. WHEN CA服务法人认证成功 THEN THE System SHALL 自动通过企业认证并更新认证状态为"已认证"
|
||
5. WHEN CA服务法人认证失败 THEN THE System SHALL 返回具体的错误信息并保持认证状态为"未认证"
|
||
6. WHEN 法人CA认证通过 THEN THE System SHALL 记录CA认证ID、认证时间和法人身份信息
|
||
7. WHEN 企业认证被拒绝 THEN THE System SHALL 记录拒绝原因并允许用户重新申请
|
||
|
||
### Requirement 2: 用户身份认证
|
||
|
||
**User Story:** 作为系统用户,我希望能够进行个人身份认证,以便证明我的真实身份并提高账号安全性。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 用户访问个人信息页面 THEN THE System SHALL 显示身份认证入口和当前认证状态
|
||
2. WHEN 用户点击"实名认证"按钮 THEN THE System SHALL 打开身份认证表单
|
||
3. WHEN 用户提交身份认证申请 THEN THE System SHALL 验证身份信息的完整性和格式正确性
|
||
4. WHEN 身份信息包含身份证号 THEN THE System SHALL 验证身份证号的格式和校验位
|
||
5. WHEN 身份信息验证通过 THEN THE System SHALL 通过CA接口适配层调用外部CA服务进行身份认证
|
||
6. WHEN CA服务身份认证成功 THEN THE System SHALL 加密存储身份证号并更新认证状态为"已认证"
|
||
7. WHEN CA服务身份认证失败 THEN THE System SHALL 返回具体的错误信息并保持认证状态为"未认证"
|
||
8. WHEN 身份信息验证失败 THEN THE System SHALL 返回具体的错误信息并保持认证状态为"未认证"
|
||
9. WHEN 身份认证被拒绝 THEN THE System SHALL 记录拒绝原因并允许用户重新申请
|
||
|
||
### Requirement 3: 员工实名认证二维码
|
||
|
||
**User Story:** 作为管理员,我希望能够为员工生成实名认证二维码,以便员工扫描二维码通过CA服务完成实名认证。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 管理员在员工管理页面点击"实名认证"按钮 THEN THE System SHALL 生成包含员工ID、真实姓名、身份证号和时间戳的二维码
|
||
2. WHEN 二维码生成成功 THEN THE System SHALL 在员工管理页面显示二维码并提供下载和打印功能
|
||
3. WHEN 员工扫描二维码 THEN THE System SHALL 调用CA服务进行身份认证
|
||
4. WHEN CA服务认证成功 THEN THE System SHALL 更新员工的认证状态为"已认证"并记录认证时间
|
||
5. WHEN CA服务认证失败 THEN THE System SHALL 返回具体的失败原因并保持认证状态为"未认证"
|
||
6. WHEN 二维码超过有效期 THEN THE System SHALL 拒绝认证并提示重新生成
|
||
7. WHEN 生成二维码 THEN THE System SHALL 在二维码数据中包含明文的员工身份信息
|
||
|
||
### Requirement 4: CA服务接口适配
|
||
|
||
**User Story:** 作为系统架构师,我希望设计一个灵活的CA服务接口适配层,以便在未来可以轻松对接不同的CA服务提供商。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 设计CA接口适配层 THEN THE System SHALL 定义标准化的接口规范包括请求和响应格式
|
||
2. WHEN 调用CA服务 THEN THE System SHALL 通过配置文件指定CA服务的接口地址和认证信息
|
||
3. WHEN CA服务不可用 THEN THE System SHALL 返回友好的错误信息并记录日志
|
||
4. WHEN 更换CA服务提供商 THEN THE System SHALL 只需修改配置和适配器实现无需改动业务代码
|
||
5. WHEN 测试CA接口 THEN THE System SHALL 提供Mock实现用于开发和测试环境
|
||
6. WHEN CA服务响应超时 THEN THE System SHALL 在30秒后超时并返回错误信息
|
||
7. WHEN 记录CA服务调用 THEN THE System SHALL 记录请求参数、响应结果和调用时间用于问题排查
|
||
|
||
### Requirement 5: 认证状态权限控制
|
||
|
||
**User Story:** 作为系统用户,我希望系统能够根据我的认证状态控制功能访问权限,以便确保只有认证用户才能使用关键业务功能。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 未认证用户访问需要认证的功能 THEN THE System SHALL 在页面顶部显示醒目的认证提示横幅
|
||
2. WHEN 认证提示显示 THEN THE System SHALL 包含企业认证和身份认证的状态及快速认证入口链接
|
||
3. WHEN 未认证用户访问合同服务菜单 THEN THE System SHALL 阻止访问并显示认证要求
|
||
4. WHEN 用户完成企业认证和身份认证 THEN THE System SHALL 自动解除访问限制
|
||
5. WHEN 超级管理员账号未认证 THEN THE System SHALL 显示认证提示但允许直接访问所有功能
|
||
6. WHEN 用户点击认证提示中的链接 THEN THE System SHALL 跳转到对应的认证页面
|
||
7. WHEN 用户认证状态变更 THEN THE System SHALL 实时更新页面的权限控制和提示信息
|
||
8. WHEN 系统检查权限 THEN THE System SHALL 验证用户的企业认证和身份认证状态都为"已认证"
|
||
9. WHEN 配置需要认证的菜单 THEN THE System SHALL 支持通过配置文件指定哪些菜单需要认证才能访问
|
||
|
||
### Requirement 6: 认证信息管理
|
||
|
||
**User Story:** 作为系统管理员,我希望能够查询和管理所有用户的企业认证信息,以便进行统一的认证管理。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 管理员访问认证管理页面 THEN THE System SHALL 显示所有用户的企业认证状态
|
||
2. WHEN 管理员筛选认证状态 THEN THE System SHALL 按照指定状态过滤显示结果
|
||
3. WHEN 管理员查看认证详情 THEN THE System SHALL 显示完整的企业认证信息和CA认证历史
|
||
4. WHEN 管理员导出认证数据 THEN THE System SHALL 生成包含所有企业认证信息的Excel文件
|
||
5. WHEN 管理员搜索企业认证 THEN THE System SHALL 支持按用户姓名、企业名称、企业代码搜索
|
||
6. WHEN 认证状态变更 THEN THE System SHALL 记录操作日志包括操作人、操作时间和变更内容
|
||
|
||
### Requirement 7: 认证数据安全
|
||
|
||
**User Story:** 作为系统架构师,我希望确保所有认证数据的安全性,以便保护用户隐私和系统安全。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 存储身份证号 THEN THE System SHALL 使用AES-256加密算法加密存储
|
||
2. WHEN 传输认证数据 THEN THE System SHALL 使用HTTPS协议加密传输
|
||
3. WHEN 访问认证数据 THEN THE System SHALL 验证用户权限并记录访问日志
|
||
|
||
### Requirement 8: 认证通知机制
|
||
|
||
**User Story:** 作为系统用户,我希望能够及时收到认证状态变更的通知,以便了解认证进度。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 用户提交认证申请 THEN THE System SHALL 发送确认通知给用户
|
||
2. WHEN CA认证通过 THEN THE System SHALL 发送通过通知给用户
|
||
3. WHEN CA认证被拒绝 THEN THE System SHALL 发送拒绝通知并说明原因
|
||
4. WHEN 系统检测到异常认证行为 THEN THE System SHALL 发送安全警告给管理员
|
||
5. WHEN 发送通知 THEN THE System SHALL 支持站内消息和邮件两种方式
|
||
|
||
### Requirement 9: 前端界面集成
|
||
|
||
**User Story:** 作为前端开发人员,我希望能够在现有的Vue3界面中集成认证功能,以便用户可以方便地使用认证服务。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 用户访问个人中心 THEN THE System SHALL 在个人信息页面显示企业认证和身份认证模块
|
||
2. WHEN 显示认证模块 THEN THE System SHALL 使用清晰的UI展示认证状态和操作按钮
|
||
3. WHEN 用户点击认证按钮 THEN THE System SHALL 打开认证表单对话框
|
||
4. WHEN 用户填写认证表单 THEN THE System SHALL 实时验证输入数据的格式
|
||
5. WHEN 管理员访问员工管理页面 THEN THE System SHALL 在员工操作列显示"实名认证"按钮和二维码
|
||
6. WHEN 管理员访问认证管理页面 THEN THE System SHALL 提供认证列表、筛选、搜索功能
|
||
7. WHEN 未认证用户访问受限功能 THEN THE System SHALL 在页面顶部显示认证提示横幅
|