大家好,我是汤师爷~

在权限系统中,权限通常分为两大类:功能权限和数据权限。这两种权限相辅相成,共同决定了用户在系统中可以执行哪些操作、访问哪些信息。

功能权限

1、功能权限是什么

当登录某个系统时,为什么有些功能按钮是灰色的,而有些页面甚至完全不可见?这正是功能权限在背后发挥作用。

功能权限决定了用户在系统中能使用哪些功能模块、访问哪些页面以及执行哪些具体操作。

举个例子,在线商城的运营人员通常需要管理商品、处理订单和策划活动。因此,他们需要拥有商品管理、订单管理和活动管理模块的权限。当运营人员登录系统时,可以看到这些模块,并进行添加、修改、删除等操作。

而财务人员则主要关注资金流转、财务报表等内容。他们只能访问财务管理模块,对商品、订单和活动模块则没有权限。

功能权限的分配通常依据员工的岗位职责和工作需求。合理的功能权限设置不仅能防止因误操作或越权操作带来的风险,还能让员工专注于本职工作,提升效率。

2、功能权限的分类

功能权限可以按操作的粒度从粗到细分为四个层级:模块、页面、按钮和字段。这种分层管理让权限分配更加灵活精确。

1)模块权限

模块权限控制用户对业务功能板块的访问。例如,运营人员被赋予“商品管理”模块权限后,就能访问商品列表页面、查看商品详情,并执行新增或删除商品等操作。

2)页面权限

页面权限是对具体功能页面的访问限制。例如,拥有“商品列表”页面权限的用户可以查看商品列表并执行页面上的所有操作(如新增、删除商品)。

3)按钮权限

按钮权限更为精细,直接控制具体操作按钮。例如,某用户可能在“商品详情”页面上拥有“新增商品”按钮权限,但没有“删除商品”按钮权限。

4)字段权限

字段权限是最细粒度的权限管理。例如,在“商品详情”页面中,普通用户可能只能查看“商品价格”字段,而管理员则可以编辑该字段或导出相关数据。

功能权限的分层结构(模块、页面、按钮、字段)让企业能够灵活分配权限,既保障了系统的安全性,又提升了员工的工作效率。通过合理配置功能权限,企业不仅能避免越权风险,还能优化员工的使用体验,让每个人专注于自己的职责范围。

数据权限

1. 数据权限是什么

为什么同一系统中的两名用户,功能权限相同,但看到的数据范围不同?

这可能是他们的“数据权限”不同造成的。数据权限是在功能权限的基础上,进一步限制用户可以访问的数据范围,确保数据使用的精确性与安全性。

例如,一个连锁商家拥有多家门店。上海店的店长 A 和杭州店的店长 B 都拥有 POS 管理权限,但由于数据权限的限制,店长 A 只能访问上海店的数据,而店长 B 则只能访问杭州店的数据。这种精细化的权限管理不仅提升了数据安全性,也符合组织管理的实际需求。

数据权限的设置通常与组织架构、岗位级别、业务规则等相关。例如,销售人员只能查看自己的业绩,避免因业绩比较引发内部纷争,而部门领导则可以查看整个部门的数据,便于管理和决策。

通过灵活分配数据权限,企业能够有效减少数据泄露风险,同时为管理者提供全局视角,帮助优化业务决策。

2. 数据权限的粒度

数据权限的粒度决定了用户可以访问数据的范围。这种粒度通常基于地域、部门、门店、项目或客户等级等维度进行划分。合理的粒度设定可以在满足业务需求的同时,确保数据安全。

以连锁商家为例,如图8-4所示,企业通常按照管理层级划分数据权限范围:

  • 门店级:店长 A 被授权管理门店 A,他只能查看门店 A 的业务数据(如订单、采购单、出入库单等)。
  • 区域级:运营经理 B 被授权管理区域 A,他能够查看区域 A 下所有门店的数据,包括后续新增的门店。
  • 分公司级:总经理 C 被授权管理分公司 A,他可以访问分公司 A 下所有门店的数据。
  • 总部级:总部管理员拥有全局权限,可查看所有门店的业务数据。

在这种分层架构中,门店是基础数据授权单元,而区域、分公司和总部则形成逐级扩展的权限集合。这种精细的粒度划分既确保了敏感信息的安全,又满足了复杂业务场景的管理需求。

数据权限通过精细化的范围控制,不仅能减少信息泄露风险,还能提升管理者的全局视角,优化企业的运营效率。

本文已收录于,我的技术网站:tangshiye.cn 里面有,算法Leetcode详解,面试八股文、BAT面试真题、简历模版、架构设计,等经验分享。

架构师汤师爷
1 声望1 粉丝