广告系统设计中,除了广告定向技术的运用以及广告投放流程的设计外,最复杂的就是权限管理的设计。不同于其他行业,广告公司或者媒体公司日常业务比较复杂,从职能来讲,包括销售、客户服务、客户执行、创意设计、策略策划、媒介计划、媒介执行、合同管理、财务审核等。从职位来讲,又包括了上下级关系的管理与被管理的关系。另外,从销售人员的个人利益考虑,客户信息在销售人员之间应该是隔断的,但从公司利益考虑,客户信息又必须是可以在销售人员之间流动,可以分配给合适的销售人员。
因此,广告系统的权限设计是非常复杂,非常费脑筋的一件事情。如果稍有考虑不到,在广告系统交付使用后,就会是一场噩梦。下面谈一种简单但却能够适应多变需求的权限管理设计。
1、权限的分类
将广告系统的权限进行抽象归类,我们将权限分为资源权限和操作权限两种。资源权限指客户信息,即客户资源。操作权限即广告系统中的增删改(查看是不需要选择的基础功能)三个功能性操作的权限。
2、权限的分配
对于资源权限,也即客户资源,我们在每个客户层面上进行分配,资源权限分配的对象为系统中的销售账户(可以是销售人员,也可以是销售经理或销售总监),再通过上下级关系的管理做到小组资源或者部门资源的分配。对于操作权限管理,我们通过权限组的设计来完成,权限组里面包括了各个元素的增删改操作。
3、权限管理的实现
在系统中,权限通过账户、权限组和客户分配三个模块或者操作完成。系统创建的每一个账户都会和一个权限组进行关联,这样这个账户可以在系统中进行的操作就可以确定。同时在创建账户的时候,需要指定其上级(上级为某一个确定的账户,必选项),并且需要选择其下级权限组(非必选项),这样就确定了上下级的关系。然后在客户资源界面为每个客户分配一个销售账户。
通过以上的操作,我们就完成了系统的权限管理的设计。这种设计逻辑表现出来的特点是:
1、设置灵活。权限组并没有和职能部门挂钩,可以进行灵活创建及设计,这么说的原因是因为各个公司的职能设置不同,即使同一公司的同一部门,职责范围也会经常变化。
2、客户资源职能分配给一个账户,在同级别的账户中实现隔断,不能共享,确保了销售人员的利益。但客户资源可以随时重新分配,这样确保了公司的利益,可以使客户随时分配给合适的销售人员。另外,上级可以查看下级的客户资源,便于销售管理(请注意,最基础的权利只是查看。是否拥有修改权利,取决于上级所在权限组的权限设置)。
问题:
1、为什么上级是确定账户而下级是权限组?
2、在上级的指定设计中,会有一个天然的逻辑错误,这个逻辑错误是什么?
—————- 解答 —————-
1、在创建一个账户时,如同一个新人入职,其上级往往已经确定了,但其下级并不能确定,因此下级我们使用权限组来设定下级的操作权限。
2、上级的制定会形成循环指定。假设有a、b、c三个人,我们指定b是a的上级,c是b的上级,如果a是c的上级,则三人形成了循环指定。因此我们需要设定一个规则来避免这种情况的发生。
6 thoughts on “广告系统的权限管理设计”
或许我们可以取消上下级的设置
有些系统中会做简化处理,不设置上下级关系。这个时候一个资源是可以分配给多个员工的
一看便知牛兄的文章全都是实战中总结出来的!!太好了!受益匪浅!这里有个权限分配的设计与牛兄交流
我觉得权限分配时可以设计两种模式:按权限组/用户角色分、按功能点分
比如“张三”是客户服务部普通员工,负责销售A、C、F的客户。添加这个用户时,可以如下分配权限:
1、按权限组/用户角色分
添加“张三”时,【所属角色】字段选择“客户服务部”。这样张三就被赋予了客户服务部的标准权限(各角色的标准权限在添加角色时设置)。
2、按功能点分
按功能点相当于在添加用户“张三”时,可以使用【权限DIY】根据需要灵活赋予其任何权限,并且这个优先级大于所属角色中选择的角色权限(突破了上下级限制)
还有,没明白牛兄第二个问题里的逻辑错误,现实中这样的逻辑错误不会有吧?
向牛兄学习,养成随时记录工作中问题的好习惯
@标签 感谢你的思考和讨论,沟通产生价值!
按照你的设计,张三是可以同时选择1和2的权限还是职能选择1或者2的权限呢?另外你这里的权限指的是客户资源还是张三在系统中的操作呢?
第二个问题中的逻辑问题是存在的,形成循环指定后系统会发生错误。当然,国内广告系统很少开放给个人使用,公司内部人员使用过程中注意避免就可以。
权限是指系统操作权限。张三可以同时获得1和2甚至更多操作权限。例如:可以同时获得“增加客户、添加广告活动、查看客户数据”等权限@ 牛 国柱
第二个问题,有时间我找你在线聊吧!我貌似加过你
@ 标签 那没有问题,能够适应多变的流程要求,异曲同工!