Appearance
系统权限管理操作手册
版本: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: 个人信息界面点击“修改密码”按钮,进行账户密码的修改。