介绍一种的最近使用的权限架构,这种权限架构相较于传统五张表的架构具有一定的优势们特别是在复杂的系统中,如果是较为简单的系统使用这种架构反而是一种负担、当然我们这种权限架构也是button级别的。
传统权限五张表:
① User 表
② 角色表 Role
③ 权限表(资源表) permission
④ 用户角色表 user_to_role
⑤ 橘色权限表 role_to_permission
我们今天介绍权限架构由七张表组成:
① 用户表User
② Group表(group是role的集合)
③ Resources表(里面包含 Role(角色)、Function、url以及weburl(在页面上的每一个元素都有一个url) )
④ user_to_resources(user跟role的中间表)
⑤ user_to_group
⑥ group_to_resources
⑦ resources_to_resources
我们将 Role(角色)、Function、url以及weburl 、统称为resources,表里会有一个resources_type来区分这四种类型

这种架构的优势就是当我们为了一个User 添加角色时 如果这个User 的角色比较多比如说他又是经理 又是项目管理者等角色 我们给他添加的时候就需要一个一个添加,这个时候我们就可以给这个将这个角色添加到一个group中,下一次有User还是这些角色我们就可以直接给他添加Group就可以了,就不用在一个一个添加,这就是这个架构的优势,但是这个架构要在角色较多的系统中才能体现出来,在角色较少是反而会成为累赘。