系统权限设计
2020-06-21 本文已影响0人
夜色001
一、客户需求
系统权限包含功能权限,操作权限,数据权限。
功能权限比较好理解,有则功能可见,没有则不可见。
接口权限也比较好理解,有则可操作,没有则不可操作。
数据权限可以按账号所有者和全部数据权限两种方式进行设置。
二、设计思想
一个用户的最终权限由这三种权限的配置组合而成,该配置为系统公共配置,不包含业务需求。特定业务需求应在权限系统体系下通过配置而成。不支持带组织结构的数据权限(要求上级可以查下其下级,及其所有下级的数据)。
三、数据权限详细设计
概要说明:数据具有数据归属的概念,通常数据归属为数据的创建者。但该定义不能完全满足项目权限要求,故将数据归属和数据创建者分为两个属性进行维护。
数据创建者:新增数据操作的执行者。
数据归属者:具有一定的业务含义,通常和数据创建者一致。但也可由项目定制。
比如保险产品的创建。当创建者为保险商家时,创建者和归属者为同一个账号;当创建者为管理员时,归属者为所选择的商家,两者不一致。
账号数据权限:由数据归属者决定,与创建者无关。
四、场景分类说明
A-管理员 B-具体商家账号 C-产品
场景一:管理员A对产品进行统一维护,创建产品时要选择产品归属。
产品的数据创建者=A,产品的数据归属者=B,
则当前账号的数据,对于商家B可见,对于管理员A不可见,管理员要可见,则必须设置可查看所有数据。
场景二:商家自己创建产品,默认产品归属为B。
产品的数据创建者=B,产品的数据归属者=B,
同样当前账号的数据,对于商家B可见,对于管理员A不可见,管理员要可见,则必须设置可查看所有数据。