首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Saas用户权限设计

PMdiss(pmdiss.com)

B端垂直的产品经理社区,是京东、阿里、美团等互联网人学习和交流的平台。我们不仅有CRM、ERP、OMS、WMS、TMS、OA等系统的Demo研习;

还有各种B端产品垂直的弹药库,包含产品说明书、操作手册、白皮书、业务需求说明书、系统说明书;

以及适合-1~3年产品经理快速成长的各类认知提升案。

嗨,很高兴没有因为上一次的玩笑而失去你,所以这篇纯干货分享,希望对你有用。

这是一个被问的最多的问题,不管是在线教育、互联网医疗还是云电商,Saas用户权限设计的本质是一样的,与行业无关。所以无论什么行业的你,请坚持看完呦,说不定哪天就用到了呢。

咨询我的产品锦锂网上找到的资料基本都是这样的:

这样的:

还有这样的:

但看完是否仍一脸蒙逼无从下手呢?

下面小编就以教务管理系统举个栗子说明:

业务背景

某教育领域的科技公司,想针对不同的学校提供不同的教务管理平台服务。不同的学校访问路径不同,学校里不同的人处理不同的工作,班主任管理对应的班级,学科老师管理对应的学科,年级主任管理对应年级所有事项,学科组长管理所有班级的对应学科……所以不仅要保证每个学校有自己的域名,还要保证学校里每个用户所能看到的数据隔离和操作权限分开。

Saas目前的租用设计策略主要有:

1.完全隔离策略:数据库层和应用层针对每个租户都分配专有资源,即完全独立,也就是我们通常说的单租户模式;

2.数据隔离策略:应用层共享应用服务器、Web服务器等,数据库层仍然是独立专用的。这其实是一种介于多租户和单租户之间混用的方法;

3.数据分离策略:将租户分隔成不同的数据库模式(schema),但它们共享相同的服务器,即租户共享所有的层。

至于选择具体用哪一种策略,不同的策略有不同的优缺点,所以需要根据服务商的实际情况和租户的具体需求来决定。

这里的话,我会比较偏向用第2种策略。

用户授权整体架构

根据上面的业务背景,整体的用户权限框架可以设计成这样:

超级管理员指Saas服务商运营管理人员,主要工作是Saas平台管理和租户运营,有的还要负责Saas环境搭建。权限资源包含数据权限、操作权限,有的时候还会按页面粒度来区分,但都是属于权限资源。

用户授权

考虑到任课老师只能看自己负责的学科数据、各班老师只能看自己负责班级的数据、教务主任只能看自己负责的年级。所以数据权限可以由【班级】来隔离限制,功能权限则由所分配角色来决定。

eg:假设张三是某校八年级教务主任兼教八年2班的化学老师,八年级总共3个班,则用户授权可以是这样的:

也可以是这样的:

这两种授权方式的区别在于第1种是按【授权班级+授权角色】完全隔离权限,即进入不同的班级对应不同的权限。

而第2种则是把【授权班级】、【授权角色】做权限并集,即在平台内对所授权班级对应的所有权限,都是一样的。

角色授权

而对应的角色则可以按需分配对应的权限,比如这样:

So看到这里你找到思路了吗?

如果还是没有,那就算了吧,毕竟我也不想做详细设计。

(不过关注私信留言,还是可以考虑单独进行详细讲解滴。我也想不到我竟然会这么没有原则)

感谢关注!

很开心找到志同道合的你

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190827A0RIZG00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券