在任何系统中都需要权限控制,没有权限,系统是不健全的时刻会受到各种问题的干扰。
权限分为数据权限和功能权限
1、功能权限:
能不能打开某一个界面,能不能触发一个界面上的按钮,某些业务员能不能删除订单,采购员能不能删除业务员某个销售订单,刚入职的小白误入系统管理员的界面,胡乱的修改。这是什么问题?没错这就是功能权限。
曾今做过两个系统对功能权限的控制
1)、某某公司ERP系统:
业务员具有新增,删除,查看,作废销售订单的权限,其实那家上市公司不允许业务员具有删除,作废导致流水号不连续无法更好的管理订单信息,后来鉴定那样的设计其实是非常不好的:将权限直接赋值给某某人,如:直接将新增的权限赋值给小李,删除权限赋值给小张,作废的权限赋值给小王,后来想给小李作废的权限,然后又重新将作废的权限赋值给小李,后来来了个新员工小芳,小芳想具有小李,小张,小王的权限,咋个办呢?一个系统几百个权限当时的系统管理员不干了,这种权限赋值对他的操作太麻烦了。每增加一个人权限赋值都是一个体力活,特别是某某人想具有某些人的权限,这无疑是增加了系统管理员的工作量。
2)、某某数据分析系统:
借鉴了某某公司ERP系统功能权限的失败:在权限和人之间追加了一个角色,先将新增,删除,查看,作废等权限赋值给莫某角色,然后给某某人赋值某某角色,这样某某人就具有某某权限了,某人想拥有某些人的权限,直接将这些人的角色赋值给某人,这样某人就具有某些权限,同时减少了权限赋值给人的难度。
2、数据权限:
场景1、 业务员A在业务员B某个订单上查看了某某客户对某某产品的销售单价,在某某搜搜框中搜出其他业务员的订单信息,可以随意的查看其他人的订单信息,其他人的业务员客户信息,其他人负责的产品信息,这无疑不是对系统健全的挑战。
场景2、 某业务主管看到公司某产品的平均毛利率,某客户的平均毛利率,重则带着下面一群小弟出去创业,称为公司的竞争对手,这无疑会对公司造成损失。
数据权限无非就是某人只能看到某些数据,这些数据是可能是属于自己直接操作的,也可能是间接操作的。
模拟ERP系统数据权限,某业务员A想知道自己有哪些客户,于是打开了客户管理界面,看到的客户全是自己相关的,假如没有数据权限的设定 ,会看到有部分不属于自己负责客户。如何统计出某业务主管自己今年销售状况好的产品有那些?曾经碰到两种情况出发:第一种业务主管负责的业务员 ,另外一种直接从负责的客户出发。
1)、业务主管负责业务员所卖的产品
业务主管根据自己负责的所有业务员统计出所有负责的产品然后筛选出,现实生活中的可不是那么的理想,某某主管负责的业务员全在自己负责的客户正常工作。如果一个业务员负责的客户时刻在发生变化,并且业务员所负责的客户不属于当前业务主管负责,那么统计出来的数据就会受到质疑,刁难的客户会对软件产生极大的不满。
2)、业务主管负责客户所买的产品
直接从客户入手,根据客户统计出主管的销售状况是对业务主管负责业务员变动的补充。
我是这样理解的访问一个系统必定是根据人出发,以人为切入点,设计好人和人之间的关系,人和部门之间的的关系,人和客户之间的关系,人和产品之间的关系,人和供应商之间的关系。一切从关系出发查找数据,这就是数据权限。