sqle icon indicating copy to clipboard operation
sqle copied to clipboard

重构前端权限相关代码

Open LZS911 opened this issue 1 year ago • 9 comments

需求描述(Describe)

实现方案

变更影响面

受影响的模块或功能

外部引用的潜在问题或风险

版本兼容性

测试建议

LZS911 avatar Oct 11 '24 10:10 LZS911

数据源页面:

  • [x] 批量导入数据源:当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )
  • [x] 添加数据源: 当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )
  • [x] 编辑:当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )
  • [x] 删除:当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )
  • [x] 测试数据源连通性:无
  • [x] 为数据源开启扫描任务:当前项目非冻结状态 && ( admin || 全局管理员 || 当前项目管理员 || 当前用户对当前数据源拥有创建/编辑扫描任务权限 )

LZS911 avatar Oct 14 '24 02:10 LZS911

用户中心: 页面权限:

  • [x] admin || 全局管理 || 全局浏览
  1. 用户列表
    • [x] 添加用户: admin || 全局管理
    • [x] 管理:admin || 全局管理
      tips: - admin 用户仅 admin 能进行编辑。 - 若被操作列用户拥有全局管理权限,仅admin 用户以及自身用户能进行编辑
    • [x] 删除:admin || 全局管理
      tips: - admin 用户无法被删除 - 若被操作列用户拥有全局管理权限,仅 admin 用户能进行删除
  2. 角色列表
    • [x] 添加角色:admin || 全局管理
    • [x] 编辑:admin || 全局管理
    • [x] 删除:admin || 全局管理

LZS911 avatar Oct 14 '24 02:10 LZS911

数据源管理: 页面权限:

  • [x] 全局数据源: admin || 全局管理 || 全局浏览 || 任意某个项目的管理员
  • [x] 外部数据源同步: admin || 全局管理 || 全局浏览
  1. 全局数据源
    • [x] 批量导入数据源:admin || 全局管理 || 任意某个项目的管理员
    • [x] 添加数据源: admin || 全局管理 || 任意某个项目的管理员
    • [x] 编辑:admin || 全局管理 || 任意某个项目的管理员
    • [x] 删除:admin || 全局管理 || 任意某个项目的管理员
    • [x] 测试数据源连通性: 无
  2. 外部数据源同步
    • [x] 添加同步任务:admin || 全局管理
    • [x] 编辑:admin || 全局管理
    • [x] 同步:admin || 全局管理
    • [x] 删除:admin || 全局管理

LZS911 avatar Oct 14 '24 03:10 LZS911

报表统计: 页面权限:

  • [x] admin || 全局管理 || 全局浏览

LZS911 avatar Oct 14 '24 06:10 LZS911

系统设置: 页面权限:

  • [x] admin || 全局管理 || 全局浏览

操作权限:

  1. 消息推送
    • [x] 启用邮件推送: admin || 全局管理
    • [x] 是否启用微信通知: admin || 全局管理
    • [x] 是否启用飞书推送: admin || 全局管理
    • [x] 是否开启Webhook通知: admin || 全局管理
  2. 流程对接
    • [x] 启用钉钉审批: admin || 全局管理
    • [x] 启用飞书审批: admin || 全局管理
    • [x] 启用企业微信审批: admin || 全局管理
  3. 登录对接
    • [x] 是否启用LDAP服务: admin || 全局管理
    • [x] 是否启用OAuth2.0登录: admin || 全局管理
  4. 全局配置
    • [x] 操作记录过期时间(小时): admin || 全局管理
    • [x] CB工作台操作审计过期时间(小时): admin || 全局管理
    • [x] URL地址前缀: admin || 全局管理
  5. 许可证
    • [x] 收集许可证信息:admin || 全局管理
    • [x] 导入许可证信息:admin || 全局管理
  6. 个性化设置
    • [x] 个性化标题:admin || 全局管理
    • [x] 个性化Logo:admin || 全局管理

LZS911 avatar Oct 14 '24 06:10 LZS911

SQLE操作记录: 页面权限:

  • [x] admin || 全局管理 || 全局浏览

LZS911 avatar Oct 14 '24 06:10 LZS911

智能调优: 页面权限:

  • [x] v1/system/module_status?module_name=sql_optimization 请求返回为 { is_supported: true }

LZS911 avatar Oct 14 '24 06:10 LZS911

规则管理: 页面权限:

  • [x] 公共规则模板列表: admin || 全局管理 || 全局浏览
  • [x] 自定义规则:admin || 全局管理 || 全局浏览
  1. 公共规则模板列表
    • [x] 导入规则模板:admin || 全局管理
    • [x] 创建规则模板:admin || 全局管理
    • [x] 编辑:admin || 全局管理
    • [x] 删除:admin || 全局管理
    • [x] 克隆:admin || 全局管理
    • [x] 导出 无
  2. 自定义规则
    • [x] 新建:admin || 全局管理
    • [x] 编辑:admin || 全局管理
    • [x] 删除:admin || 全局管理

LZS911 avatar Oct 15 '24 08:10 LZS911

SQL 工单: 页面权限: 无

操作权限:

  1. 工单列表
  • [x] 导出工单:无
  • [x] 创建工单:当前项目非冻结状态。通过筛选创建工单页面的可选择数据源来进行权限控制。权限来源:成员与权限页面。
  • [x] 创建工单-sql审核列表:添加为审核SQL例外:当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )
  1. 工单详情 Header 操作按钮:按钮权限皆为项目非冻结状态,且操作按钮省略工单状态以及工单待操作人说明
  • [x] 关闭工单:无
  • [x] 上线到其他实例:项目管理员 || 拥有任意数据源创建工单的操作权限
  • [x] 全部驳回:当前工单数据源的 驳回/审批工单权限
  • [x] 审核通过:当前工单数据源的 驳回/审批工单权限
  • [x] 批量立即上线:当前工单数据源的上线工单权限
  • [x] 标记为人工上线:当前工单数据源的上线工单权限
  • [x] 中止上线:无
  • [x] 刷新工单:无
  1. 工单详情概览操作列
  • [x] 中止上线
  • [x] 立即上线
  • [x] 定时上线
  • [x] 取消定时上线

Tips:由于 全部驳回、审核通过、批量立即上线、标记为人工上线、立即上线、定时上线 按钮判断权限为当前工单对应的数据源 ID,但是当前工单信息中仅有工单名称,需要额外获取。故考虑以上四个按钮的权限仅判断项目是否冻结,操作权限保持原状,通过后端判断。

LZS911 avatar Oct 16 '24 09:10 LZS911

SQL管控: 页面权限:无

操作权限:

  • [x] 指派负责人: 当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )
  • [x] 变更状态:当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )
  • [x] 变更优先级:当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )
  • [x] 设置为管控SQL例外:当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )
  • [x] 设置为审核SQL例外:当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )
  • [x] 批量指派:当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )
  • [x] 批量解决: 当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )
  • [x] 批量忽略:当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )

两个特殊权限场景

  • [x] 表格操作列width(根据权限和语言进行适配):当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )
  • [x] 表格备注列(根据是否有权限渲染不同组件):当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )

zzyangh avatar Oct 25 '24 07:10 zzyangh

SQL管控例外: 页面权限:无

操作权限:

  • [x] 添加:当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )
  • [x] 编辑:当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )
  • [x] 删除:当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )

zzyangh avatar Oct 25 '24 10:10 zzyangh

SQL工作台 页面权限:无

操作权限:

  • [x] 打开SQL工作台:无
  • [x] 导出:无
  • [x] 添加为审核SQL例外:当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )

LZS911 avatar Oct 28 '24 02:10 LZS911

审核SQL例外 页面权限: 无

操作权限:

  • [x] 添加:当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )
  • [x] 编辑:当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )
  • [x] 删除:当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )

zzyangh avatar Oct 28 '24 06:10 zzyangh

审批流程模板

页面权限:无

操作权限:

  • [x] 修改当前审批流程模板:当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )

zzyangh avatar Oct 28 '24 09:10 zzyangh

审核规则模板 页面权限:无

操作权限:

  • [x] 导入规则模板:当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )
  • [x] 创建规则模板: 当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )
  • [x] 编辑: 当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )
  • [x] 删除: 当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )
  • [x] 克隆: admin || 全局管理 || 当前项目管理员
  • [x] 导出: admin || 全局管理 || 当前项目管理员

zzyangh avatar Oct 29 '24 02:10 zzyangh

知识库: 页面权限:无

操作权限:

  • [x] 编辑: admin || 全局管理

zzyangh avatar Oct 29 '24 06:10 zzyangh

推送规则

页面权限:无

操作权限:

  • [x] 工单变更推送开关:admin || 全局管理 || 当前项目管理员
  • [x] SQL管控问题推送开关:admin || 全局管理 || 当前项目管理员

zzyangh avatar Oct 29 '24 07:10 zzyangh

查看规则

页面权限:无

操作权限:

  • [x] 创建规则模板:筛选项目非冻结状态 && ( admin || 全局管理 || 筛选项目管理员 )

zzyangh avatar Oct 29 '24 08:10 zzyangh

成员与权限管理

页面权限:无

操作权限:

  • [x] 添加成员:当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )

  • [x] 编辑成员:当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )

  • [x] 删除成员:当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )

  • [x] 添加成员组:当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )

  • [x] 编辑成员组:当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )

  • [x] 删除成员组:当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )

zzyangh avatar Oct 29 '24 10:10 zzyangh

IDE审核:

页面权限:无

操作权限:

  • [x] 添加为审核SQL例外:当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )

zzyangh avatar Oct 30 '24 09:10 zzyangh

数据导出

页面权限: 无

操作权限:

  • [x] 批量关闭(包含表格是否可选权限): admin || 全局管理 || 当前项目管理员
  • [x] 添加为审核SQL例外:当前项目非冻结状态 && ( admin || 全局管理 || 当前项目管理员 )

zzyangh avatar Oct 31 '24 05:10 zzyangh

版本管理:

页面权限:无

操作权限:

  • [x] 创建: admin || 全局管理 || 当前项目管理员
  • [x] 编辑:admin || 全局管理 || 当前项目管理员
  • [x] 删除: admin || 全局管理 || 当前项目管理员
  • [ ] 锁定:admin || 全局管理 || 当前项目管理员 ~~- [ ] 发布版本:admin || 全局管理 || 当前项目管理员 || 当前数据源的创建工单权~~

zzyangh avatar Nov 01 '24 05:11 zzyangh

项目列表:

页面权限:无

操作权限:

  • [x] 批量导入数据源: admin || 全局管理
  • [x] 创建项目:admin || 全局管理 || 拥有创建项目权限的用户
  • [x] 导出:admin || 全局管理 || 拥有创建项目权限的用户
  • [x] 导入:admin || 全局管理 || 拥有创建项目权限的用户
  • [x] 编辑:admin || 全局管理 || 项目管理员
  • [x] 删除:admin || 全局管理 || 项目管理员
  • [x] 启用:admin || 全局管理 || 项目管理员
  • [x] 冻结:admin || 全局管理 || 项目管理员

LZS911 avatar Nov 04 '24 06:11 LZS911

SQL管控配置:

页面权限:无

所有操作权限前置条件:当前项目非冻结状态

操作权限:

  • [x] 为数据源开启扫描任务:当前项目非冻结状态
  • [x] 编辑:admin || 全局管理 || 项目管理员 || 拥有当前数据源的创建/编辑扫描任务权限
  • [x] 停用:admin || 全局管理 || 项目管理员 || 拥有当前数据源的创建/编辑扫描任务权限
  • [x] 启用:admin || 全局管理 || 项目管理员 || 拥有当前数据源的创建/编辑扫描任务权限
  • [x] 删除:admin || 全局管理 || 项目管理员 || 拥有当前数据源的创建/编辑扫描任务权限

扫描任务详情:

  • [x] 立即审核:admin || 全局管理 || 项目管理员 || 拥有当前数据源的创建/编辑扫描任务权限
  • [x] 启用:admin || 全局管理 || 项目管理员 || 拥有当前数据源的创建/编辑扫描任务权限
  • [x] 停用:admin || 全局管理 || 项目管理员 || 拥有当前数据源的创建/编辑扫描任务权限
  • [x] 删除:admin || 全局管理 || 项目管理员 || 拥有当前数据源的创建/编辑扫描任务权限

LZS911 avatar Nov 04 '24 11:11 LZS911

  • [ ] SQL工单,快捷审核页面不符合预期,待修复后测试

拥有全局管理权限用户u2

pri1 u2对admin用户编辑按钮置灰 pri2 u2用户能创建数据源 pri3 u2用户不能编辑拥有平台权限用户 pri4 u2用户创建数据源成功 pri5

拥有全局统计权限用户u3

pri7 能查看全平台页面,但是不能编辑符合预期 pri8 pri9 pri10 pri11

taolx0 avatar Nov 07 '24 03:11 taolx0

快捷审核:

页面权限:无

操作权限:

  • [x] 创建审核:项目未冻结

zzyangh avatar Nov 08 '24 03:11 zzyangh

Home

页面权限:无

操作权限:

  • [x] 根据是否是admin或全局管理权限展示不同操作步骤

zzyangh avatar Nov 08 '24 05:11 zzyangh

系统公告

页面权限:无

操作权限:

  • [x] 编辑系统公告:admin || 全局管理

zzyangh avatar Nov 08 '24 05:11 zzyangh

项目概览:

页面权限: 无

操作权限:

  • [x] 创建工单:同SQL工单创建权限

zzyangh avatar Nov 08 '24 07:11 zzyangh