当前位置: 首页 > 科技观察

后台系统“权限设计”基础知识

时间:2023-03-14 14:15:27 科技观察

Toogee:权限设计通常隐藏在后台系统深处,以至于说起来大家都心知肚明,但真正面对复杂的业务需求和逻辑关系时,我们有点盲目。这篇文章是对我之前权限设计的回顾。希望在整理自己的同时,也能给其他小伙伴带来一些想法。一、授权系统设计的需求背景1、业务流程复杂随着业务越来越复杂,以前一个订单只需要一个业务员跟进,现在一个订单的流程需要五个业务员配合完成(每个销售人员负责其中一个流程)。此时,我们可以使用权限系统,给5个销售赋予各自流程的权限(比如销售A只有输入意向订单的权限,销售B只有补充客户信息的权限等).),让每个销售人员只需查看即可,将信息传递到自己手中,简化繁杂的流程。2.信息敏感度当同一层级有多个部门时,会出现同一公司内部的竞争。例如,销售组1煞费苦心地挖掘了用户数据,不希望销售组2看到这些数据。权限系统可以设置不同部门的数据相互独立,即使是各组的领导也看不到彼此的数据。3、操作安全,权责明确在一个大型系统中,一个错误的操作后果可能非常严重。权限系统的存在最大程度的避免了此类问题。只要是出现在界面上的功能,就可以操作,也不会造成严重的后果。4.页面简洁。如果系统没有权限管理,每个账号登录后看到的界面都是一样的,充斥着各种无关冗余的信息,甚至需要专门培训,学习成本很高。经过权限系统的管理,每个账号登录后只能看到与自己相关的信息,可以更快的了解工作范围内的业务。2.权限系统的基本构成权限系统主要由三个要素组成:账号、角色和权限。账号是登录系统的唯一标识,一个账号代表一个用户。通过自助注册或系统管理员统一注册分配。角色用于批量为账号分配权限。在一个系统中,不可能为每个账户都自定义权限,所以给同一类账户分配一个“角色”,达到批量分配权限的目的。权限分为操作权限、页面权限和数据权限。操作权限是指用户可以进行的操作,如是否可以添加、删除、编辑等。页面权限是指可以看到哪些页面。数据权限是指可以查看数据的范围。一个简单的例子如下:△权限系统的基本结构三.权限系统设计实例1.实例背景这是一个订单管理系统。销售和客户服务等角色通过系统完成整个订单流程。系统用户量大,层级复杂,有大量同层级具有竞争力的销售团队。2、账户管理△账户管理本案例创建账户的流程如下:管理员在系统中添加账户,用户通过邮箱激活。默认角色是“职员”,只分配最基本的权限。为了减少管理员的工作量,还支持通过excel上传,excel格式可以根据模板进行标准化。3.角色管理当前案例中的角色就是“职位”。不同“职位”的用户有不同的权限。角色管理的入口在“权限管理”页面,只有添加角色、编辑角色、删除角色、添加角色描述等基本功能。通常主流的后台系统也有复制角色等功能。复制角色是指:创建新角色时,先选择已有的具有相似权限的角色,然后修改新角色的权限。这避免了在权限过多时必须重新设置每个新角色的麻烦情况。4.权限管理在实际设计中,很多系统会选择将页面权限和操作权限合并为功能权限,比如当前案例:.对于页面中的所有字段,主要有增、删、查、改四种操作权限。如果您需要对页面中的某些敏感字段设置单独的操作权限,可以打开高级设置配置字段级操作权限。如下图所示:△功能权限的高级设置在目前的情况下,在多个团队同级别比赛的情况下,数据权限分配的需求不能仅仅通过职位来满足,所以我们引入“部门”来保证同级销售在集团内,相互信息保密,竞争公平。另外,上级部门,比如城管,甚至是总经理,都应该有权看到自己部门和下属部门的所有数据。因此,“部门”权限组具有层级划分,数据权限进一步按照层级进行分配。比如基层销售只能看到自己的数据,销售组长可以看到部门的数据,总经理可以看到本部门及下属部门的数据,总经理可以看到所有的数据。部门划分放在公司设置页面,作为公司组织架构的介绍。***写的权限系统的基本结构是这样的,但是现实中的权限设计却大相径庭。清楚基本概念,结合实际需求设计最合适的权限系统。也可以参考主流后台系统的权限设计,了解类似的问题以及其他系统是如何解决的。一个小提示:与其不厌其烦地注册试用各种后台系统,还不如直接去官网找帮助文档。