当前位置: 首页> SEM教程

CRM系统的权限管理与流程设计

本文介绍CRM系统的项目权限管理和用户报名流程的设计。

↔▄

CRM(Customer RelatiΨonship Management)–客户关系管理系统,是指利用软件、硬件和网络技术,为企业建立一个客户信息收集、管理、分析和利用的信息系统。以客户数据的管理为核心,记录企业在市场营销和销☼售过程中和客户发生的各种交互行为,以及各类有关活动的状态,提供各类数据模型,为后期的分析和决策提供支持。

简而言之,CRM系统是主流←高效的客户管理系统,在维护客户,挖掘新客户,规避客ч户流失及企业内部恶意竞争,降低营销成本上有非常重要的作用。

项目背景

笔者本次服务的甲方,在培训行业深耕多年,由于成立时间较早,所以在信息化管理较为◘薄弱。目前管理用户的方式还是通过excel录入管理,并且通过邮件进行传输。这样ν的管理方式,不仅效率低下,而且一定程度上,容易出现数据泄露。

于是甲方Э希望能够有一套CRM,能够覆盖培训的招⿸生,报名,学生管理等流程。由于较高的保密需求,所以需要进行研发团队开发完成后,在公司内网±部署。

在征得甲方同意后,本文仅介Ⅶ绍项目⿹权限管理和用户报名流程的设计。

基于RBAC(Role-♯♮Based Access Control)的权限管理

RBAC模型

一个完善的管理系统底层★逻辑,权限管理,⿶往往是系统架构的第一步。权限管理中,通常4个元素是无法回避的,分‖|别为:

用户(User);角色∨(R☆ole);权限(Permission);资源(Resou⇔rces)

在数据库表结构设计中,我们通常使用一对多(OneToMany)或多对°゜多(ManyToMa≥ny)管理用户(User);角色(Role)『;权限(Permission)。

用户;角色;权限关系示意图

在完成了以上基|础逻辑确ъ定以后,我们能┚够很轻易◁搭建起一套α基本的权限体系:即创建用户(Create User);分配角色(Assign Role);赋予权限(Grant)。

流程分析

管理员(Admin)流程:

创建菜单及功能,开发人员路由配置菜单对应URL 创建角色,分配角色可访问菜单┓(可访问URL) 创建〾用户,为用户配置对应的角色(Role)┘

用户操作流程

CRM系统左侧为菜单栏,用户登陆后,系统根据分配给用户的角色а,以及角色对应的权限对菜单进行展示。

在用户进入菜单后,我们还需要二次判断当前用户的读写权限,对部分页面的内容或者操作进行屏蔽。

原型设计如下:

以上是简化版的RBAC权限管理设计方案,在现实生活中,还需要根据实际的情况,权限管理℉中,是否需要包含字段权限,以及字段权限的规则(只读,读写,不可见)。

报名流程设♀计

需求分析

培训机构在进行招生〇时,通常的流程是:

用户咨询–销售记录用户咨询内容&≤#8211;销售跟进用户–用户填写报名信息–销售审核–用户付款–创建学员信息。

报名流程图

以下是对应流程中,关于方案设计的主要信息:′

主要对象:销售,用户; 操作设备:PC端为主,可能出现移动设备; ♨支付需求:是;(需要用户申请对Ч应的账号╩及API) 网络需求:是; 其他:部分字段脱敏处理 操作人员:销售

原型设计

新建用户/用户详情

在此○,我们简化了κ部分字段,给读者展示了一个简单的新建用户/查看详情页。由于B端系统的非标性,在某些情况下,需要我们调整其中的功能权〆限和展示字段。这就需要我们联系前期设计的权限管理,实现功能︵与需求的高度适×≡配。

Ω

方案总结

由于本次定制程度较高,且开发周期时间不长,所以在底层架构设计中,我们多采用比较成熟的方案,如RBAC权限方案,高复用度的前端页面,基于角色权限的二层级菜单。减少了开发量和部分未知风险,在规定的时间内完成了开发任务。

发布本文,只为抛转引玉,希望能够与各位B端优ↆ秀的产品经理有更多的交流机会。如文中出现纰漏,也欢迎大家指正。

 

本文由 @Dave≌ Fu 原创发┏布于人人都是产品经理。未经许可,禁止转载。

题图来自 unsplash,基于 CC0 协议