惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
MyScale Blog
MyScale Blog
U
Unit 42
M
MIT News - Artificial intelligence
小众软件
小众软件
P
Proofpoint News Feed
雷峰网
雷峰网
L
LangChain Blog
S
SegmentFault 最新的问题
腾讯CDC
F
Fortinet All Blogs
A
About on SuperTechFans
WordPress大学
WordPress大学
Vercel News
Vercel News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
G
Google Developers Blog
大猫的无限游戏
大猫的无限游戏
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
D
Docker
N
Netflix TechBlog - Medium
Apple Machine Learning Research
Apple Machine Learning Research
Recent Announcements
Recent Announcements
D
DataBreaches.Net
Stack Overflow Blog
Stack Overflow Blog

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理,
一文讲透 B 端权限系统的概念及原理
好夕雷 · 2023-11-10 · via 人人都是产品经理

后台系统的权限管理系统这个功能,可谓是难倒了一大批产品经理。本文总结了B 端权限系统的概念及原理,希望对你有所帮助。

发现最近好多人在问,后台系统的权限管理怎么做。

权限管理这个功能,可以说难倒了一大批产品经理。

虽然讲权限的文章一大堆,但真正讲透的屈指可数。

刚好前段时间,我设计的多租户权限系统上线了,做的过程中也总结了一些经验,这里简单聊聊。

一、权限概念

什么是权限?

权限是后台的基础模块之一,没有它的话每个用户都是超级管理员,系统数据可以任意操作、改写,如果是这样那公司就乱套啦。

为了避免这种情况发生,后台需要上线权限功能。

它确保了不同用户进行合理分工和操作,避免了风险管理、数据安全等问题。

产品经理如果想搞懂和设计权限系统,需要先学会这 3 个基础概念:用户、权限、角色。

  • 用户:这里的用户,指的是后台的用户账号;
  • 权限:权限规定了系统的操作范围或数据查看限制,像“新增、编辑、删除”等就是权限的一种;
  • 角色:角色包含了一组权限集合,主要以用户的职责或功能来定义,例如“管理员、销售、内容管理”等角色,它们拥有的权限各不相同。

二、权限分类

权限看起来很复杂,其实说起来只有这两种分类:功能权限、数据权限。

1. 功能权限

功能权限,主要控制账号的组件可视范围,常见的有目录、菜单、按钮等。

  • 目录:一般在系统的顶部,例如“用户、营销、系统”等一级管理入口;
  • 菜单:指的是系统左侧的多级导航组件,点击即可进入对应的功能页面,例如营销目录中的“积分管理、活动管理、优惠券管理”等都是菜单;
  • 按钮:在页面中的功能操作都可视为按钮,常见的“搜索、新增、编辑、删除、打印”等功能都由相关按钮控制。

2. 数据权限

数据权限则决定了用户能看哪些数据,一般通过“部门、品牌、区域”等维度划分数据权限。

例如广东地区的同事,只能看到广东地区的销售数据,其他海南、青岛等区域的数据,在系统界面将隐藏。

二、权限模型

权限模型有很多种,例如“ACL 模型、DAC 模型、MAC 模型、RBAC 模型、ABAC 模型”等。

这些权限模型为什么会产生?主要是公司基于“组织体量、业务背景、实施成本”等因素权衡取舍后的解决方案。

而我们在日常过程中,由于业务不大、公司架构简单等因素,一般只需要用到“ACL 模型、RBAC 模型”这两种。

1. ACL 模型

ACL 模型中,涉及了“用户、权限”这两个概念,主要通过用户绑定多个权限,实现了权限控制管理。

例如 A 账号是客服在用,它绑定了“内容管理、订单管理”等权限,而 B 账号作为老板专属,当然是权限全开啦。

这种方案比较适合小公司,开发量较少。

但弊端是,当维护的用户足够多,而且它们权限大差不大时,配置权限的那个人一定很崩溃。

2. RBAC 模型

为了解决配置繁琐的问题,我们需要使用 RBAC 模型。

RBAC 模型相比 ACL,多了一个角色的概念。

角色主要是为了将用户、权限进行解耦,以达到权限“批量配置、随时更新”的目的。

例如将原先的 A 账号权限,分配给客服角色,然后再把老板 B 账号,给到“超级管理员”角色。

那么当公司有 20 个客服,3 个老板时,通过 RBAC 模型,配置权限就只需要几分钟。

三、权限原理

如果你觉得一项知识太高深难懂,也许只是还没找到学它的正确姿势。——好夕雷

说了这么多概念和模型, 听起来可能比较抽象。

我们试着用一些简单的 Excel 表(为了便于理解,简化了部分数据),来理解 ACL 模型、RBAC 模型的权限原理。

1. ACL 模型,如何实现权限控制?

在 ACL 模型中,想实现权限控制,我们首先需要“用户、权限”这两个主表。

现在问题来了,你上司突然要你搞定下面的权限配置,该怎么做?

  • 张三:由于是刚来的新员工,只能看一些文章数据;
  • 李四:李四是公司的老油条了,文章、文章评论的管理工作,都是由他处理的;
  • 王五:这个人是老板亲戚,只需要看看商品、文章、动态等用户的反馈评论,然后找老板告状。

听起来真是头大阿!躺平行不行?

要想实现上司的权限需求,你还需要用到第三个表“用户权限关联”。

这个表的作用,是将用户与权限的关系进行绑定,方便系统确认不同用户的权限范围。

按上司的要求,我们完成了用户权限的配置。

无论界面交互层如何花里胡哨,功能实现的本质还是数据操作。——好夕雷

由于在数据库中,这些关系是通过 ID、代号表示的,看起来比较抽象。

我们试着用文字替代。

怎样,看起来是不是容易理解多啦?

2. RBAC 模型,如何实现权限控制?

前面我们讲到,RBAC 模型相比 ACL 模型多了角色的概念。

所以除了“用户、权限”表之外,我们还需要一个“角色”主表,并按需求配置 3 个角色。

  1. 新员工:查看文章;
  2. 老油条:管理文章和文章评论;
  3. 老板亲戚:查看商品、文章、动态等评论。

由于权限逻辑变了,所以原先那个“用户权限”表就没啥用了。

我们还需要“用户角色关联、角色权限关联”这两个新表,来实现 RBAC 模型的权限控制。

上图中,其实有两个问题需要注意:

  1. 用户拥有多个角色:这种情况,我们一般是取两个角色的所有去重权限,作为当前用户的权限范围,其他特殊功能需求,可以视情况更改;
  2. 数据权限实现原理:系统在判断一个角色的数据权限,首先验证是否有该对象的数据权限,然后再按“权限范围”限制,显示相关数据;例如 A 角色能查看“广州、上海、南京”等地区的订单数据。

总结

权限系统看起来很复杂,其实只要你掌握了权限的概念、分类、模型、原理,那么想要设计一个权限方案也不算难。

本文由 @好夕雷 原创发布于人人都是产品经理,未经许可,禁止转载

题图来自Unsplash,基于CC0协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。