前言
初入B端,浅尝产品设计实战,结合项目经验及资料学习,对基础设置中的权限设置进行复盘,也希望沉淀一些知识内容。有错误及不足欢迎各位前辈指出,不胜感激。
本文将从对系统权限理解、功能权限、RBAC模型及其他概念的引入、数据权限等几个方面进行整理与复盘,计划分为上中下三节。
系统权限
用户登录系统后可使用的系统资源即系统中的所有页面及以下的若干功能点,包括其中的数据,故系统权限可以分类为功能权限和数据权限。
功能权限指用户登录系统后能看到什么模块、哪些页面、菜单,进行何种操作。其中B端系统中的操作基本都是通过按钮进行实现的。即功能权限有:模块(菜单)-->页面-->按钮权限;
而数据权限指的是用户在某个模块里能看到哪些数据,并设置以哪些维度控制数据权限范围,如通过组织部门权限、角色权限或单独的数据访问权限控制。
为什么要设置系统权限?
权限体系的本质是对登陆用户身份做控制,通过权限控制用户对系统资源的增删改查。
对于小型企业或简单的系统,使用人员范围窄,业务简单,暂时不需要对登陆用户进行权限划分。如夫妻门店使用的库存管理系统,使用用户就只有老板,默认拥有所有权限,就无需权限设置的功能了。
但对于成体系、流程化的企业而言,在满足用户职责范围的基础下,合理地进行系统权限划分,可以提高用户做事效率,避免页面干扰及操作风险,同时有利于保护公司隐私安全。
功能权限
用户功能权限划分时,若为每一个用户单独配置权限,当用户逐渐增多、业务流程逐渐完善和丰富、用户频繁流动时,为维护用户权限的难度开始变大。此时就出现了角色的概念,将业务流程中用户常用的权限合集打包成一个角色的权限,往后需要使用这些权限合集的用户可以直接赋予角色。
基于角色访问权限的RBAC模型是配置功能权限的基础,即通过构建菜单-角色-用户的关系实现用户的功能权限范围。除了基础的RBAC0模型外,基于各公司的业务需要,可在此模型下进行升级,引入用户组、父子角色、互斥角色等概念。
RBAC模型
RBAC即role-based access control,即基于角色的权限管理,通过构建菜单(功能)-角色-用户的关系实现用户的功能权限范围。
首先需要对所有的菜单页面进行分模块分组,并对所有细分功能点进行标识。提炼出所有功能点后,可以按照业务需要,设置对应角色,为各角色分配所需要的功能权限。创建用户后,可以直接分配用户角色,用户直接继承对应角色的权限。
以上介绍了对系统权限的基本认识,以及功能权限中的RBAC基础模型。