Skip to content

系统权限管理操作手册

版本:V2.5.0

配置文件

yml
#端口
server:
  port: 9090
# 服务名称
spring:
  application:
    name: upms-server
  main:
    allow-circular-references: true
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher
  cache:
    # upms cache名称
    cache-names: upmsCache,deptUser,userCache,deptMapCache,dept,projectMap,roleMenuCache,tenantMap
  redis:
    # Redis数据库索引(默认为0)
    database: 3
    # Redis服务器地址
    host: localhost
    port: 6379
    # Redis服务器连接密码(默认为空)
    # password: Wfwzl@123
    # 连接超时时间
    timeout: 10s
    jedis:
      pool:
        # 连接池最大连接数
        max-active: 200
        # 连接池最大阻塞等待时间(使用负值表示没有限制)
        max-wait: -1ms
        # 连接池中的最大空闲连接
        max-idle: 10
        # 连接池中的最小空闲连接
        min-idle: 0
  datasource:
    name: druidDataSource
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://127.0.0.1:3306/upms-ys?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8
      username: xxxxxx
      password: xxxxxx
  #      driver-class-name: org.postgresql.Driver # 数据库驱动
  #      url: jdbc:postgresql://xxxx:5433/upms?currentSchema=upms-msg
  #      username: upms # 数据库账号
  #      password:
#  upms邮箱配置
  mail:
    host: xxxx
    username: xxxxxx
    password: xxxxxx
    properties:
      mail:
        smtp:
          auth: true
          starttls:
            enable: true
            required: true
# uaac配置
uaac:
  # jwt秘钥
  jwt-secret-key: ruqwjsndcnmyergfweuyurcqnhrqapi
  # token名称 (同时也是cookie名称)
  token-name: Authorization
  token-prefix: Bearer
  is-read-cookie: false

mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  global-config:
    db-config:
      logic-delete-field: delFlag # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2)
      logic-delete-value: 1 # 逻辑已删除值(默认为 1)
      logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)

system:
  path: /sys
  # 排除token校验的路由配置
  exclude: /sys/user/register,/sys/oss/login/image,/sys/user/validate/code,/sys/user/forget/pass,/sys/user/change/pass,/sys/secret/check,/certification/*,/sso/*,/sys/error/**,/sys/image/*,/sys/r,/sys/dict/code,/getRedirectUrl,/swagger-resources/**,/v3/**,/v2/**,/swagger-ui/**,/webjars/**,/favicon.ico
  # mix 为混合模式及有租户项目 simple为简单模式只有平台
  model: mix
sso:
  path: /sso
# upms验证码配置,为true时启用,false关闭
verify:
  code: false
#与system.model联用,当system.model为mix,该选项配置为true,当system.model为simple时,该选项为false
user:
  dept:
    role: true
#upms oss配置
oss:
  enable: true
  endpoint: http://xxxx:9000
  custom-domain:
  # 采用nginx反向代理或者AWS S3配置成true,支持第三方云存储配置成false
  # 如使用云OSS需要配置为false
  path-style-access: false
  access-key: xxxxxx
  secret-key: xxxxxx
  region:
  bucket-name: upms
#upms 短信配置
sms-config:
  address: http://xxxx:9999/wsdl
  cp-corp-id: xxxxx
  cp-corp-password: xxxxxx
  cp-service-code: xxxxxx
  #user: 950108
  extend-num: 2038

目标

本项目主要是通过将用户分配到不同的角色,并赋予角色相应的权限,来实现租户、项目、机构的权限隔离。旨在简化和优化权限管理过程,降低用户权限带来的复杂性。

功能概述

系统权限管理组件包括机构管理、员工管理、账号管理、角色管理、菜单管理、岗位管理、字典管理、微应用管理、租户管理、项目管理、日志管理、等核心功能。

机构管理,维护系统机构,包括机构名称、机构简介、状态、机构层级等。

员工管理,维护系统员工基本信息,包括姓名、邮箱、性别、身份证号等。

账号管理,维护系统账号,系统用户可以对自己的账号名和岗位进行维护和更新,管理员可以给用户授权角色。

角色管理,维护系统角色、分配权限集,并将角色分配给用户,从而确保每个用户都能在其职责范围内进行操作。

菜单管理,维护系统菜单数据,以树形结构展示,负责展示和管理系统中的菜单,每个菜单包含名称、图标、路由、排序等。

岗位管理,维护系统岗位数据,岗位信息包含名称、职级和描述。

字典管理,维护系统字典数据,以树形机构展示,可以自定义字典值。

微应用管理,维护微应用信息,配置微应用信息,可将项目拆分成多个独立运行、开发的模块,并通过微应用架构无缝集成,形成完整的项目。。

租户管理,维护租户数据,以树形结构展示。

项目管理,维护项目信息,包含名称、标识、管理员和描述。

日志管理,展示系统账号登录日志和操作审计日志的数据。

个人信息,人员信息展示,包括机构、角色、个人简介等信息。

介绍

按角色权限范围和维度的不同,可以将角色分为系统角色、租户角色和项目角色。

平台角色:从平台层面对人员角色进行分类,该类角色可以管理和使用整个平台的资源和数据。内置角色有平台管理员、平台普通用户,也可根据需要自定义角色,如平台运营人员、公司质量管理员等。

租户角色:从租户层面对人员角色进行分类,该类角色可以管理和使用某个租户下的资源和数据。内置角色有租户管理员、租户普通用户,也可根据需要自定义角色。

项目角色:从项目管理层面对人员角色进行分类,该类角色可以管理和使用某个项目下的资源和数据。内置角色有项目管理员、项目普通用户,也可根据需要自定义角色。

系统可以分为平台维度、租户维度和项目维度。每个维度都可以独立维护机构、角色、菜单、字典等信息。

页面布局

系统页面布局示意图

功能区:展示系统功能菜单,账号可从此处使用系统功能

导航区:展示当前登录账号所在租户及集群,可切换租户和集群

个人信息:查看登录账号基本信息,可修改登录密码

内容区:展示核心内容的区域

功能简述概述

系统登录

进入平台登录页面(推荐使用谷歌浏览器)

在登录页面,输入账号名、密码和验证码,拖动校验后,点击“登录”按钮进入系统工作台主界面。

忘记密码

步骤1: 登录界面,点击“忘记密码”按钮,进入忘记密码界面。

步骤2: 填写账号、邮箱,点击获取验证码,系统会为该账号邮箱发送一个邮件。

步骤3: 根据邮件信息填写验证码,点击下一步。

步骤4: 输入新密码,点击下一步,重新设置密码成功。

机构管理

机构列表

步骤1: 点击左侧菜单“平台管理->平台机构管理”,打开平台级机构页面。

----结束

新建机构

步骤1: 在机构树页面,选择一个机构,点击“新增”按钮,新增下级机构。

步骤2: 取消鼠标选中,点击“新增”按钮,新增顶级机构

步骤3: 编辑机构信息,点击“保存”按钮保存。

编辑机构

鼠标选择机构树中的某个机构,界面右侧显示该机构的详细信息,编辑信息,点击“保存”按钮,保存机构信息。

删除机构

步骤1: 鼠标选中机构树中的某个机构,点击“删除”按钮删除机构。

机构导出

步骤1: 平台机构管理界面中点击“导出”按钮,即可导出所有机构。

步骤2: 鼠标选中某个机构,点击“导出”按钮,即可导出该节点下的机构。

机构导入

步骤1: 平台机构管理界面中点击“导入”按钮,弹出导入弹窗。

步骤2: 点击下载模板。

步骤3: 填写模板。注意:导入树形结构需要填写父子关系,即主键和父主键。

步骤4: 选中某个机构,点击导入,上传excel,点击“上传提交”按钮,导入机构到该节点下。

步骤5: 鼠标取消选中,点击导入,上传excel,点击“上传提交”按钮,导入根节点机构。

步骤6: 模板填写示例。

机构排序

步骤1: 鼠标选中某个机构,拖动该机构,即可完成排序,排序只支持同级别排序。

菜单管理

菜单:菜单权限分为平台级、租户级和项目级,平台级菜单作用于整个系统,租户级菜单作用于某个租户,项目级菜单作用于某个项目。

菜单列表

步骤1: 点击左侧菜单“平台管理->平台菜单管理”,打开平台级菜单页面。

步骤2: 点击右上角租户下拉框选择一个租户。

步骤3: 点击左侧菜单“租户管理->租户菜单管理”,打开租户级菜单界面。

步骤4: 点击右上角下项目下拉框选择一个项目。

步骤5: 点击左侧菜单“项目管理->项目菜单管理”,打开项目级菜单界面。

----结束

新建菜单

以平台级菜单为例,租户、项目及菜单管理操作与平台级一致:

步骤1: 在菜单树页面,选择一个菜单,点击“新增”按钮,新增下级菜单。

步骤2: 取消鼠标选中,点击“新增”按钮,新增下级菜单。

步骤3: 编辑菜单信息,点击“保存”按钮保存。

步骤4: 租户、菜单级菜单操作与平台级相同。

新建按钮

步骤1: 在平台管理-平台菜单管理页面,点击“新增”。

步骤2: 资源类型选择按钮。

步骤3: 填写按钮权限编码,点击保存。

步骤4: 租户、项目级菜单操作与平台级相同。

新建微应用菜单

步骤1: 在平台管理-平台菜单管理页面,点击“新增”。

步骤2: 资源类型选择微应用。

步骤3: 选择一个微应用,该数据由微应用管理模块维护

步骤4: 填写路由以及微应用路由,点击保存。

编辑菜单

鼠标选择菜单树中的某个菜单,界面右侧显示该菜单的详细信息,编辑信息,点击“保存”按钮,保存菜单信息。

删除菜单

步骤1: 鼠标选中菜单树中的某个菜单,点击“删除”按钮删除菜单。

菜单导出

步骤1: 平台菜单管理界面中点击“导出”按钮,即可导出菜单。

步骤2: 租户级菜单导出、项目级菜单导出与平台级操作相同。

菜单导入

步骤1: 平台菜单管理界面中点击“导入”按钮,弹出导入弹窗。

步骤2: 点击下载模板。

步骤3: 填写模板。注意:导入树形结构需要填写父子关系,即主键和父主键。

菜单排序

步骤1: 鼠标选中某个菜单,拖动该菜单,即可完成排序,排序只支持同级别排序。

角色管理

角色:角色权限分为平台级、租户级和项目级,平台级菜单作用于整个系统,租户级菜单作用于某个租户,项目级菜单作用于某个项目。系统默认为平台创建平台管理员、平台普通用户两个角色,为租户创建租户管理员、租户普通用户两个角色,为项目创建项目管理员、项目普通用户两个角色。

角色列表

步骤1: 点击左侧菜单“平台管理->平台角色管理”,打开平台级角色页面。

步骤2: 点击右上角租户下拉框选择一个租户。

步骤3: 点击左侧菜单“租户管理->租户角色管理”,打开租户级角色界面。

步骤4: 点击右上角项目下拉框选择一个项目。

步骤5: 点击左侧菜单“项目管理->项目角色管理”,打开项目级角色界面。

----结束

创建角色

以平台角色管理为例,平台管理-平台角色管理界面中,点击“新增”按钮,打开新建角色页面,填写角色基本信息,勾选菜单权限,点“保存”。

编辑角色

点击角色列表中“编辑”按钮,修改角色基本信息,点击“保存”编辑角色。

注意:平台内置角色不可编辑。

删除角色

点击角色列表中“删除”按钮,确认删除角色。

注意:平台内置角色不可删除。

或勾选角色列表,点击“批量删除”按钮

菜单授权

点击角色列表中“菜单授权”按钮,修改该角色菜单权限。

数据权限

点击角色列表中“菜单授权”按钮,修改该角色数据权限。

注意:数据权限功能作用于业务端。

** **

角色批量授权

此功能可以为批量的账户授权角色

步骤1: 点击角色列表中“角色批量授权”按钮,弹出授权界面。

步骤2: 已授权列表可以批量为账号取消授权。

步骤3: 未授权列表可以批量为账号授权。

平台级菜单下放

用户可以将部分平台级的菜单下放给租户管理员和项目管理员

步骤1: 点击平台管理-平台角色管理。

步骤2: 修改租户管理员角色的菜单,如下:在平台角色管理-租户管理员-菜单权限中添加了一个测试菜单。

步骤3: 进入租户管理-租户角色管理,在租户管理员下,点击“菜单授权”按钮,可以看到平台级下放的菜单。

步骤4: 项目同理,进入平台管理-平台角色管理,修改项目管理员角色的菜单,例如:在平台角色管理-项目管理员-菜单权限中添加了一个测试菜单。

步骤5: 进入项目管理-项目角色管理,在项目管理员下,点击“菜单授权”按钮,可以看到平台级下放的菜单。

角色导出

步骤1: 平台角色管理界面中点击“导出”按钮,即可导出平台角色信息,租户角色、项目角色导出操作相同。

步骤2: 导出示例如下:

角色导入

步骤1: 平台角色管理界面中点击“导入”按钮,弹出导入弹窗。

步骤2: 点击下载模板。

步骤3: 填写模板后上传,点击“上传提交”按钮导入角色。

步骤4: 租户角色、项目角色导入操作相同。

岗位管理

岗位:即账号的岗位,可在账号编辑处选择岗位。

岗位列表

点击左侧菜单“平台管理->平台岗位管理”,打开岗位管理页面。

创建岗位

点击“新增”按钮,打开新增岗位弹窗,填写岗位基本信息,点“保存”。

注意:岗位职级下拉数据由字典管理维护,可通过修改平台字典管理中的职级管理来进行岗位职级的修改。

编辑岗位

点击岗位列表中“编辑”按钮,填写岗位基本信息,点击“保存”。

删除岗位

步骤1: 禁用该岗位。

步骤2: 点击岗位列表中“删除”按钮,确认删除岗位。

步骤3: 或者勾选岗位列表,点击列表上方“删除”按钮,进行岗位的批量删除。

岗位导出

步骤1: 平台岗位管理界面中点击“导出”按钮,即可导出岗位信息。

步骤2: 导出示例如下:

岗位导入

步骤1: 平台岗位管理界面中点击“导入”按钮,弹出导入弹窗。

步骤2: 点击下载模板。

步骤2: 填写模板后上传,点击“上传提交”按钮导入岗位。

员工管理

员工列表

点击左侧菜单“平台管理->平台员工管理”,打开平台员工管理页面。点击左侧机构树可查看机构下的员工列表。

新增员工

选择一个机构,点击“新增”按钮,打开新增员工弹窗,填写员工基本信息,点击“确定”保存。

注意:员工类型、员工状态、环节、专业、员工职位由字典管理维护,可通过平台字典管理界面进行调整。

编辑员工

点击员工列表中“编辑”按钮,修改员工基本信息,点击“确定”保存。

删除员工

点击员工列表中“删除”按钮,确认删除员工。

员工导出

步骤1: 平台员工管理界面中点击“导出”按钮,即可导出平台下的员工账号信息。

步骤2: 导出示例如下:

员工导入

步骤1: 平台员工管理界面中点击“导入”按钮,弹出导入弹窗。

步骤2: 点击下载模板。

步骤3: 填写模板。注意:导入时会同时导入员工和账号,如果填写的邮箱信息已存在,则只会创建账号,并且该账号会自动关联此邮箱所在的员工。如果填写的邮箱信息不存在,则会同时创建账号和员工。

步骤4: 填写示例。

账号管理

账号列表

点击左侧菜单“平台管理->平台账号管理”,打开平台账号管理页面。

创建账号

点击“新增”按钮,打开新增账号弹窗,填写账号基本信息,选择关联员工、关联角色、账号状态,点击“确定”保存。

编辑账号

点击账号列表中“编辑”按钮,修改账号基本信息,点击“确定”保存。

删除账号

点击账号列表中“删除”按钮,确认删除账号。

重置密码

点击账号列表中“重置密码”按钮,确认重置账号密码。

注:默认密码在平台字典管理-账号默认值-默认密码中维护,可通过修改该值来进行默认密码的维护。

账号多机构授权角色

配置文件system:model为simple时支持该功能。

步骤1: 平台账号管理列表中的“授权操作”按钮,弹出机构角色关联弹窗。

步骤2: 点击“+”,为账号新增一个机构,并为账号在该机构下选择一个角色,点击“确定”按钮保存。

步骤3: 保存成功后即可在界面右上角实现机构的切换功能。

步骤4: 点击“查看授权”按钮,即可查看该账号已经授权的机构和角色。

账号导出

步骤1: 平台账号管理界面中点击“导出”按钮,即可导出平台下的员工账号信息。

步骤2: 导出示例如下:

账号导入

步骤1: 平台账号管理界面中点击“导入”按钮,弹出导入弹窗。

步骤2: 点击下载模板。

步骤3: 填写模板。注意:导入时员工是否存在以邮箱为准,如果填写的邮箱信息已存在,则只会创建账号,并且该账号会自动关联此邮箱所在的员工。如果填写的邮箱信息不存在,则会同时创建账号和员工。

步骤4: 填写示例。

其它操作

启用: 将一个已经禁用的账户重新启用。

禁用: 将一个正常的账户禁用,禁用后不能登录。

解锁: 将一个已锁定的账户解锁。

租户管理

租户:支持层级租户,租户之间的权限隔离。父租户管理员有其子租户的权限。

租户信息列表

点击左侧菜单“租户管理->租户信息管理”,打开租户信息管理页面。

新建租户

步骤1: 在租户管理-租户信息管理页面,点击“新增顶级租户”按钮,新增一个租户。

步骤2: 编辑租户信息,点击“保存”按钮。

步骤3: 选择一个租户,点击“新增”按钮,新增一个子级租户。

编辑租户

鼠标选择某个租户,界面右侧显示该租户的详细信息,编辑信息,点击“保存”,保存租户信息。

删除租户

鼠标选中某个租户,点击“删除”按钮删除租户。

租户员工管理

进入租户管理-租户员工管理,与平台员工管理操作相同,租户员工作用于当前租户。

租户员工导入、导出

与平台员工管理导入导出操作相同。

租户账号管理

步骤1: 右上角选择一个租户。

步骤2: 在租户管理-租户账号管理页面,点击“新增”按钮,弹出新增账号弹窗,填写租户信息(关联的员工及关联的角色都是本租户下的)。点击“确定”按钮保存。

步骤3: 在租户管理-租户账号管理页面,点击“编辑”按钮,编辑租户账号信息。

步骤4: 在租户管理-租户账号管理页面,选择一个租户级账号,点击“删除”按钮,删除租户账号信息。

步骤5: 启用、禁用、锁定操作与平台级账号管理相同。

租户账号导入、导出

与平台账号管理导入导出操作相同,租户账号的导入导出只限于该租户的账号,平台级账号邀请至该租户下的不支持导入导出。

租户账号邀请成员

步骤1: 平台右上角,选择一个租户,为此租户邀请成员。

步骤2: 点击左侧菜单“租户管理->租户账号管理”。

步骤3: 点击“邀请成员”按钮,选择平台账号及租户角色,点击“确定”按钮,将该账号邀请至该租户下。

租户账号删除成员

步骤1: “租户管理->租户账号管理”,选择一个平台级账号,点击“移除”按钮;在租户新建的账号,点击“删除”。

租户账号角色变更

步骤1: “租户管理->租户账号管理”,选择一个账号,点击“编辑”按钮,修改账号角色,点击“确定”保存,从平台邀请进租户的账号不可以在租户账号管理页面编辑。

项目管理

项目信息列表

点击左侧菜单“项目管理->项目信息管理”,打开项目信息管理页面。

新建项目

步骤1: 平台右上角选择一个租户,在该租户下创建项目。

步骤2: “项目管理->项目信息管理”中,点击“新增”按钮。

步骤3: 编辑项目信息,点击“确定”按钮保存。

编辑项目

项目信息管理界面中,点击“编辑”按钮,编辑项目信息,点击“保存”,保存项目信息。

删除项目

项目信息管理界面中,点击“删除”按钮,删除项目。

项目添加成员

步骤1: 平台右上角,选择一个项目。

步骤2: 点击左侧菜单“项目管理->项目账号管理”,打开成项目账号管理页面。

步骤3: 点击“邀请成员”按钮,选择上级租户账号和项目级角色,点击“确定”按钮,邀请账号。

项目删除成员

步骤1: 平台右上角,选择一个项目。

步骤2: “项目管理->项目账号管理”,点击“移除”按钮,删除该成员。

3.10.7. 项目角色变更

项目管理->项目账号管理界面中,点击“编辑”按钮,修改该成员在该项目下的角色。

账号多机构授权角色

配置文件system:model为mix时支持该功能。

步骤1: 项目账号管理列表中的“授权操作”按钮,弹出机构角色关联弹窗。

步骤2: 点击“+”,为该账号在此项目下新增一个机构关联,并为账号在该机构下选择一个角色,点击“确定”按钮保存。

步骤3: 保存成功后即可在界面右上角实现机构的切换功能。

步骤4: 点击“查看授权”按钮,即可查看该账号已经授权的机构和角色。

字典管理

数据字典

步骤1: 点击左侧菜单“平台管理->平台字典管理”,打开平台级字典页面。

新建字典

步骤1: 在平台字典管理页面,选择一个字典,点击“新增”按钮,新增下级字典。

步骤2: 编辑子节点信息,点击“确定”按钮保存。

编辑字典

鼠标选择字典树中的某个字典,界面右侧显示该字典的详细信息,编辑信息,点击“保存”按钮,保存字典信息。

删除字典

步骤1: 鼠标选中字典树中的某个字典,点击“删除”按钮删除字典。

字典导出

步骤1: 平台字典管理界面中点击“导出”按钮,即可导出字典。

步骤2: 导出示例如下:

字典导入

步骤1: 平台字典管理界面中点击“导入”按钮,弹出导入弹窗。

步骤2: 点击下载模板。

步骤3: 填写模板。注意:导入树形结构需要填写父子关系,即主键和父主键。

字典排序

步骤1: 鼠标选中某个字典,拖动该字典,即可完成排序,排序只支持同级别排序。

微应用管理

微应用列表

点击左侧菜单“平台管理->平台微应用管理”,打开微应用管理页面。

新增微应用

点击“新增”按钮,填写微应用基本信息,点击“确定”按钮保存。

编辑微应用

点击微应用列表中“编辑”按钮,修改微应用基本信息,点击“确定”按钮保存。

删除微应用

点击微应用列表中“删除”按钮,确认删除微应用。

日志管理

审计日志

点击左侧菜单“日志管理->审计日志”,打开审计日志列表页面。

支持按条件组合进行日志过滤。

点击日志列表中“查看”按钮,可以查看日志详情。

操作日志

点击左侧菜单“日志管理->操作日志”,打开操作日志列表页面。

支持按条件组合进行日志过滤。

点击日志列表中“查看详情”按钮,可以查看日志详情。

日志导出

点击日志列表上方导出按钮对日志进行导出

个人信息

个人信息

步骤1: 点击界面右侧用户名下拉框。

步骤2: 点击“个人信息”按钮,进入个人信息界面。

修改密码

步骤1: 个人信息界面点击“修改密码”按钮,进行账户密码的修改。