长城客户管理系统crm(CRM系统的权限管理与流程设计)

长城客户管理系统crm(CRM系统的权限管理与流程设计)本文介绍CRM系统的项目权限管理和用户报名流程的设计 。

长城客户管理系统crm(CRM系统的权限管理与流程设计)
文章图片
CRM(Customer Relationship Management)–客户关系管理系统,是指利用软件、硬件和网络技术,为企业建立一个客户信息收集、管理、分析和利用的信息系统 。以客户数据的管理为核心,记录企业在市场营销和销售过程中和客户发生的各种交互行为,以及各类有关活动的状态,提供各类数据模型,为后期的分析和决策提供支持 。
简而言之,CRM系统是主流高效的客户管理系统,在维护客户,挖掘新客户,规避客户流失及企业内部恶意竞争,降低营销成本上有非常重要的作用 。


项目背景笔者本次服务的甲方,在培训行业深耕多年,由于成立时间较早,所以在信息化管理较为薄弱 。目前管理用户的方式还是通过excel录入管理,并且通过邮件进行传输 。这样的管理方式,不仅效率低下,而且一定程度上,容易出现数据泄露 。
于是甲方希望能够有一套CRM,能够覆盖培训的招生,报名,学生管理等流程 。由于较高的保密需求,所以需要进行研发团队开发完成后,在公司内网部署 。
在征得甲方同意后,本文仅介绍项目权限管理和用户报名流程的设计 。
基于RBAC(Role-Based Access Control)的权限管理


RBAC模型一个完善的管理系统底层逻辑,权限管理,往往是系统架构的第一步 。权限管理中,通常4个元素是无法回避的,分别为:
用户(User);角色(Role);权限(Permission);资源(Resources)
长城客户管理系统crm(CRM系统的权限管理与流程设计)
文章图片
在数据库表结构设计中,我们通常使用一对多(OneToMany)或多对多(ManyToMany)管理用户(User);角色(Role);权限(Permission) 。
长城客户管理系统crm(CRM系统的权限管理与流程设计)
文章图片
用户;角色;权限关系示意图
在完成了以上基础逻辑确定以后,我们能够很轻易搭建起一套基本的权限体系:即创建用户(Create User);分配角色(Assign Role);赋予权限(Grant) 。


流程分析管理员(Admin)流程:
  1. 创建菜单及功能,开发人员路由配置菜单对应URL
  2. 创建角色,分配角色可访问菜单(可访问URL)
  3. 创建用户,为用户配置对应的角色(Role)


用户操作流程CRM系统左侧为菜单栏,用户登陆后,系统根据分配给用户的角色,以及角色对应的权限对菜单进行展示 。
在用户进入菜单后,我们还需要二次判断当前用户的读写权限,对部分页面的内容或者操作进行屏蔽 。
原型设计如下:
长城客户管理系统crm(CRM系统的权限管理与流程设计)
文章图片
以上是简化版的RBAC权限管理设计方案,在现实生活中,还需要根据实际的情况,权限管理中,是否需要包含字段权限,以及字段权限的规则(只读,读写,不可见) 。
【长城客户管理系统crm(CRM系统的权限管理与流程设计)】

报名流程设计需求分析培训机构在进行招生时,通常的流程是:
用户咨询–销售记录用户咨询内容–销售跟进用户–用户填写报名信息–销售审核–用户付款–创建学员信息 。
长城客户管理系统crm(CRM系统的权限管理与流程设计)
文章图片
报名流程图
以下是对应流程中,关于方案设计的主要信息: