SaaS系统权限架构设计

一、功能权限

1. 是否可见

目标:控制某个菜单某个按钮是否对访问用户开放。

解决方案:RBAC模型,基于角色的访问控制。1个用户可以有多个角色,每个角色又赋予了多个系统权限点,最终实现用户与权限的关联关系。

SaaS系统权限架构设计

2. 能否操作

目标:进一步控制访问用户是否能对可见按钮进行操作。

场景说明:一般情况下,可见按钮均是可以操作的,不会做特别的权限控制,但在某些场景下,比如销售在看客户详情时,可以通过链接查看工单详情,那他是否可以操作工单上的按钮?

解决方案:当权限需要在此类场景下细化时,可进一步对按钮权限进行控制,比如定义只有工单负责人及其上级主管可操作。

3. 注意事项

1)必须按实际的业务场景需求进行角色初始化,大部分用户都是很懒的

2)预设角色不能编辑权限,否则后期迭代功能上新时,就无法自动为这些预设角色勾选新功能了

二、数据权限

1. 通用场景

目标:依托组织架构实现数据权限的控制。

解决方案:对组织架构内的员工定义数据权限,比如只能看自己的数据,只能看本部门数据,可以看本部门及下级部门数据。

2. 特殊场景

目标:脱离组织架构实现数据权限的控制。

场景1:希望跨组织架构看到其他部门的数据,比如质检部门需要看到销售部门的数据。

解决方案1:设置共享权限,单独共享某个部门或人维度的数据。

SaaS系统权限架构设计

场景2:希望能将自己的某个客户共享给其他人。

解决方案2:从业务上进行场景定义,比如设置协作人字段等。

场景3:设置节点流程的审批人。

解决方案3:在流程配置页面设置审批人,比如指定角色?指定人?直接主管?

作者:D.lemon,公众号:柠檬的产品小记

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部