用户-权限对应关系图: 这种 土耳其手机号码 对应关系在用户多的情况下基本无法维护了。其实很多用户负责同一个业务模块所需要的权限是一样的这样的话我们是不是可以借助第三个媒介把需要相同的权限都分配给这个媒介然后用户和媒介关联起来用户就拥有了媒介的权限了。这就是经典的R模型其中媒介就是我们通常所说的角色。 权限模型的演进 R模型 有了角色之后可以把权限分配给角色需要相同权限的用户和角色对应起来就可以了一个权限可以分配给多个角色一个角色可以拥有多个权限同样一个用户可以分配多个角色一个角色也可以对应多个用户对应模型如下所示: 这就是经典的R模型了(rol-s-ss-ontrol)在这里面角色起到了桥梁左右连接了用户和权限的关系每个角色可以拥有多个权限每个用户可以分配多个角色这样用户就拥有了多个角色的多个权限。

同时因为有角色作为媒介大大降低了错综复杂的交互关系比如一家有上万人的公司角色可能只需要几百个就搞定了因为很多用户需要的权限是一样的分配一样的角色就可以了。这种模型的对应关系图如下所示: 用户和角色角色和权限都是多对多的关系这种模型是最通用的权限管理模型节省了很大的权限维护成本 但是实际的业务千变万化权限管理的模型也需要根据不同的业务模型适当的调整比如一个公司内部的组织架构是分层级的层级越高权限越大因为层级高的人不仅要拥有自己下属拥有的权限二期还要有一些额外的权限。 R模型可以给不同层级的人分配不同的角色层级高的对应角色的权限就多这样的处理方式可以解决问题但是有没有更好的解决办法呢答案肯定是有的这就引出角色继承的R模型。