在新公司已有半年之久,做的还是会员业务。相比较于支付行业的会员,物流行业的会员还是有很大差异的,一个主要是C端的个人用户,一个大部分是B端的企业用户,底层的会员账号模型有些差异,另外,物流行业的会员多了组织和权限,下面主要介绍下通用的权限模型。
目前业界常用的权限模型有两种,ACL模型和RBAC模型。
ACL(Access Control List),是最基本的一种访问控制机制,包含三个要素:用户(user)、资源(resource)、资源操作(operation),其基本原理就是每一项资源,都配有一个列表,列表中记录了哪些用户可以对这些资源进行CRUD操作(如下图)。优点是简单明了,清晰易懂,比较适用于中小型企业;缺点也很明显,需要维护大量的访问权限列表,当资源增多,用户群体增大,很容易就出现性能瓶颈。
RBAC(Role-Based Access Control),基于角色的访问控制,在RBAC模型中,通过角色和权限相关联,让用户成为角色成员从而拥有角色的权限(如下图所示)。对比于ACL模型而言,RBAC模型简化了用户对于权限的管理,将用户分类(角色),让用户和权限变成了间接关联。RBAC也有缺点,那就是对于角色下的特定单个用户,比如需要额外的权限,或者减少某部分权限,就不满足了。