权限手册(5.1以上)

此手册基于5.0版本的权限系统,新增了角色管理中的权限配置功能。对于5.0版本的权限功能说明,请参考此前发布的权限手册:https://doc.oinone.top/auth/14357.html。本手册仅介绍新增的功能,其他功能详见此前的版本手册。

1. 角色管理--权限配置

在“角色管理--权限配置”中,用户可以从角色维度查看和配置该角色的各类权限,包括访问权限、管理权限、字段权限和数据权限。通过角色的视角,用户能够清晰地管理每个角色在系统中的权限,确保权限配置灵活且符合业务需求。

image

1.1. 资源访问权限

用户选择某一角色并查看其对应的“资源访问权限”。在进入该角色的详细页面后,用户能够看到该角色当前被授权访问的系统资源。同时,用户还可以对该角色的“资源访问权限”进行修改,增删或调整角色可以访问的具体资源。完成修改后,点击“确定”按钮,系统将保存这些更改,并更新该角色的访问权限配置。

image-(1)

1.2. 资源管理权限

选择某一角色并查看其对应的“资源管理权限”。用户能够看到对应角色当前被授权管理的系统资源。同时,用户还可以对该角色的“资源管理权限”进行修改,增删或调整角色可以访问的具体资源。完成修改后,点击“确定”按钮,系统将保存这些更改,并更新该角色的管理权限配置。

image-(2)

值得注意的是

  1. 二级菜单无法进行授权,因为即使对其进行了授权,点击时也不会有实际效果。
  2. 平台设计了父子节点不联动的权限管理方式,赋予用户更大的灵活性。这样一来,用户可以为某个菜单授予访问权限,而无需同步设置其动作权限;相反,也可以临时取消对菜单的访问权限,但仍然保留对动作权限的访问配置。由于父子节点不联动,系统特别提供了“全选”功能,避免逐一勾选的繁琐操作,提高了权限配置的效率。

image-(3)

  1. 当我们在菜单维度对权限组进行配置调整时,所做的更改会同步到角色维度的权限设置中。然而,若在角色维度对权限进行修改,系统不会将这些更改同步回菜单维度,而是将该角色从相应的权限组中移除。
    • 举个例子,假设我在“系统权限”菜单中选择了某个应用,并在该应用的“访问权限”权限组中添加了一个名为“测试专用”的角色。随后,我进入“角色管理”中的“权限配置”模块进行修改操作,看看会产生什么效果。
  • 首先,我们在“系统权限”中为资源模块的地址库-地区添加“测试专用”角色。

image-(4)

  • 然后,进入“角色管理”模块,找到“测试专用”角色并点击权限配置,此时可以看到该角色在资源模块的地址库-地区已经拥有访问权限。

image-(5)

  • 接着,我们在这个界面中进行修改操作,比如勾选“国家分组”的访问权限。完成后,返回“系统权限”查看。

image-(6)

  • 我们会发现,刚刚添加的“测试专用”角色已经从“系统权限”中移除。这是因为系统不会将角色维度的权限修改同步回菜单维度,而是直接移除该角色,以确保权限配置的准确性和一致性。

image-(7)

解释:

这样设计的原因在于,权限组中的权限是多个角色共享的。如果将对某个角色的权限修改同步到菜单维度,会影响其他角色的权限配置。为了避免这种情况,系统确保对单个角色的权限修改不会改变权限组中其他角色的设置。因此,当在角色维度修改权限时,系统会将该角色从对应的权限组中移除。这也表明应用和角色维度的数据是互通的:菜单维度的变更可以同步到角色维度,而角色维度的变更则不会自动反映到菜单维度,以避免授权冲突。

1.3. 字段权限

在“字段权限”页面,用户可以查看并管理某个角色所有的模型及其字段权限。系统提供了两个便于查找的搜索框:

搜索框 1:允许用户根据模型的编码或名称进行快速搜索,方便定位特定的模型。

搜索框 2:用户可以根据权限状态筛选模型,选择显示角色拥有权限的模型或查看系统中全部模型。

使用这两个搜索框后,按回车键即可启动搜索,快速查找并修改相关模型或字段的权限。

用户还可以对字段的读写权限进行修改,确保特定角色在系统中对特定字段有合适的权限。完成修改后,点击“保存”按钮,系统将会更新角色的字段权限配置。

image-(8)

1.4. 数据权限

在“角色管理”中进行权限配置时,所涉及的数据权限是指为特定角色设定数据权限项。可以通过点击“新增权限项”按钮,添加该角色所需的数据权限。

image-(9)

值得注意的是

  1. 在“角色管理-数据权限”模块中设置的数据权限不会同步到“数据权限”菜单的单个数据配置中,并且当“角色管理-数据权限”发生变化还会导致该角色从“数据权限”菜单的单个数据配置中移除。而在“数据权限”菜单中进行修改时,这些更改会被应用到“角色管理-数据权限”中相应的角色。
    • 举个例子,当我在“数据权限”菜单中创建了一条数据,然后在“角色管理-权限配置”中对该角色的权限进行修改,看看会产生什么效果。
  • 在“数据权限”菜单中创建一条数据权限,选择角色为“测试专用”,并将数据权限设置为“1111”,然后点击保存。

image-(10)

  • 接着,进入“角色管理”中,选择“测试专用”角色的权限配置,查看数据权限。此时我们会发现数据权限中新增了一条“1111”的数据权限项。这表明在这两个维度间的数据是互通的。

image-(11)

  • 然后,在“角色管理”当前的“测试专用”角色页面中新增一条数据权限项,再去“数据权限”菜单下查看效果。

image-(12)

  • 在“数据权限”菜单下发现角色被移除。

image-(13)

解释:

在“数据权限”菜单中配置的是多个角色对应的多个数据权限项,而在“角色管理”中则展示了某个角色对应的所有数据权限项。与之前的逻辑一致,对多个角色的多个数据权限项进行更改会同步到特定角色的数据权限中,但对某个角色的数据权限的修改并不会同步到其他角色的多个权限项中。

本文来自投稿,不代表Oinone社区立场,如若转载,请注明出处:https://doc.oinone.top/chan-pin-shi-yong-shou-ce/17797.html

(0)
萧炎的头像萧炎数式员工
上一篇 2024年9月26日 pm3:33
下一篇 2024年9月27日 am11:20

相关推荐

  • 选择字段进行导出

    本节介绍如何通过选择不同的导出方式,灵活导出数据,并根据需求选择导出字段。

    2024年9月20日
    1.4K00
  • 复制API

    通过API复制功能,用户可以快速基于已有的API创建新的副本,从而减少重复性工作。复制完成后,用户可以根据实际需求修改API副本的详细信息,如名称、描述、请求参数、响应参数等。

    2024年9月20日
    1.1K00
  • 多语言-日期格式国际化

    1. 功能概述 多语言切换支持:支持用户填写多种日期、时间格式,并在切换语言后自动匹配对应格式。 自定义格式:用户可以自定义日期时间格式,使其不受语言切换影响。 地址格式:支持不同地区地址格式的自定义。 分位格式设置:支持用户选择数字分组规则,实现千分位或分位的展示效果。 2. 详细配置说明 2.1. 多语言切换 – 创建语言 步骤: 进入“创建语言”页面: 依次选择资源 – 语言 – 语言创建,进入语言创建界面。 填写基本信息: 编码:填写唯一的语言编码,必填。 语言名称:填写语言名称,必填。 语言ISO代码:填写语言的ISO代码,必填。 图标:选择国旗图标,非必填。 书写习惯:选择书写方向(从左向右或从右向左),必填。 一周开始日:选择一周的第一天,必填。 日历:选择日历类型(格里高利历、农历、阳历),必填。 时区:从下拉菜单中选择适合的时区,必填。 日期格式、时间格式:配置用户在不同语言下的6种日期、时间格式,必填。 小数分隔符、整数分隔符:分别设置小数和整数的分隔符,必填。 数字分组规则:默认为3,即千分位设置。 地址格式:设置区域的地址格式,必填。 激活状态:选择激活或无效状态,必填。 当前用户语言:可选择开启或关闭,默认为关。 2.2. 日期与时间格式 步骤: 日期格式:可设置为“年/月/日”、“年月日”等格式。 时间格式:可选择12小时制或24小时制,上午/下午显示等格式。 格式填写规则: 日期格式: 年月日格式需包含年、月、日三个元素。 年月格式仅包含年和月。 时间格式: 时分秒格式包含时、分、秒三个元素。 时分格式仅包含时和分。 注: 在此设置的日期格式应根据个性化爱好自定义日期或时间的显示格式,其中如年月日的格式需要一一对应,不能缺少或增加元素。此处配置的6种格式即对应中文设计器中的6种格式。时间格式同理。 3. 设计器操作指南 3.1. 日期与时间格式自定义 进入设计器: 在设计器中打开属性面板,选择日期或时间相关组件。 选择格式选项: 日期格式:从下拉菜单中选择日期格式,该选项来源于资源-语言-创建语言模块中的填写项。 时间格式:同样从下拉菜单中选择时间格式,选项来源于创建语言模块的填写项。 设置自定义格式: 若选择自定义格式,则在切换语言后该格式将保持不变。 通过手动输入的方式自定义日期或时间格式,无需受限于预设格式。 3.2. 数字分组格式(千分位/分位) 在设计器中配置数字分组: 显示分位:将“显示千分位”修改为“显示分位”,默认为3,即千分位。 配置逻辑: 若局部配置中关闭分位,则数字不进行分组。 若全局配置为2,则局部配置生效的分组规则即为2。 4. 常见问题解答 4.1. Q1. 切换语言后,为什么自定义的日期格式没有变化? 自定义格式在语言切换后保持不变,以确保用户手动选择的格式优先级最高。 Q2. 日期格式填写不符合要求,提示无法保存? 日期格式填写需按照要求,确保格式包含正确的元素(如年月日)。 Q3. 如何确保日期时间显示符合当地习惯? 请在创建语言模块中填写6种日期和时间格式,确保切换语言后格式自动匹配。

    2024年11月12日
    2.7K00
  • 使用GraphQL生成API文档

    GraphiQL 是一个非常流行的交互式开发环境(IDE),专门用于浏览、编写和测试 GraphQL 查询。它不仅可以帮助你查询 API,还可以自动生成文档。以下是如何使用 GraphiQL 的具体步骤: 仓库地址:https://github.com/anvilco/spectaql?tab=readme-ov-file#yaml-options 一、使用GraphiQL 工具生成API文档。 1. GraphiQL 安装与配置 方式 : 本地或全局安装 GraphiQL 如果你的 GraphQL API 服务器没有内置 GraphiQL,你可以使用独立的 GraphiQL 框架或包。 全局安装 GraphiQL如果你想在本地环境使用 GraphiQL,你可以通过 npm 或 yarn 安装:如果下载不成功可以使用淘宝镜像源 npm install -g graphiql 通过 npm 或 Yarn 安装为开发依赖你也可以将 GraphiQL 作为开发依赖安装到项目中: npm install graphiql 生成您的文档! npx spectaql config.yml 运行此命令你需要一份config.yml文件。具体使用参考https://github.com/anvilco/spectaql?tab=readme-ov-file#yaml-options 2. 使用JSON格式生成文档 生成或导出 schema 文件 自动生成 schema如果你使用的是 Java 类和注解方式定义的 GraphQL API(使用 @GraphQLQuery 等注解),GraphQL schema 通常在运行时生成。你可以使用 Spring Boot 启动后访问 GraphQL endpoint 来手动导出 schema。 访问 GraphQL Endpoint:在应用运行时,GraphQL API 通常暴露在 /graphql 路径下。你可以通过 introspection 查询导出完整的 GraphQL schema。 下面是一个 introspection 查询的示例,它可以帮助你获取 schema:这个查询可根据文档需要动态调整。查询http://127.0.0.1:8091/pamirs/graphql,注意保证工程yml配置文件pamirs.framework.gateway.show-doc: true为开启状态。 query IntrospectionQuery { __schema { queryType { …FullType } mutationType { …FullType } subscriptionType { name } types { …FullType } directives { name description locations args { …InputValue } } } } fragment FullType on __Type { kind name description fields(includeDeprecated: true) { name description args { …InputValue } type { …TypeRef } isDeprecated deprecationReason } inputFields { …InputValue } interfaces { …TypeRef } enumValues(includeDeprecated: true) { name description isDeprecated deprecationReason } possibleTypes { …TypeRef } } fragment InputValue on __InputValue { name description type { …TypeRef } defaultValue } fragment…

    2024年9月13日
    1.3K00
  • 集成接口测试功能

    API、 WebService、数据库的测试功能

    2025年8月26日
    71200

Leave a Reply

登录后才能评论