Py007-03-02权限系统介绍

权限

  • 回顾电影 《2012》 那些能登上“诺亚方舟”的人都是有“权”有“势”的人,而不能登上船的人就只能等死。——说明他们 level不够

  • 公司里员工的薪水——保密

为什么开发权限组件?

为什么那些在公司的老员工开发系统时,比你要快。

  • 年限多,写的熟,经验多
  • 老油条
  • 最最重要的是——自己的组件(通用性的组件)

web程序中什么是权限

一个url

一个url

一个url

结论

1
2
3
url ==> 权限

人 ==> url

第一版权限控制

  • 多对多关系
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
用户表 
id user
1 马云 CEO
2 CTO
3 技术
4 前台


权限表
id auth
1 user/list/ 查看用户列表
2 user/add/ 增加用户
3 user/edit/ 编辑用户
4 user/del/ 删除用户
5 sale/list 商品销售列表
6 sale/add
7 sale/edit
8 sale/del

一些虚拟条件

1
2
3
4
5
6
7
# 用户权限关系表
id uid aid

CEO——1,2,3,4,5,6,7,8所有权限
CTO——1,2,3,4,5,6
技术——1,2,3,4
前台——1,2

问题来了

1
2
3
4
5
6
7
8
//假设又来了一个cto
此时这个cto要新增 1,2,3,4,5,6的权限

如果此时ceo宣布 cto权限加2个
此时就是两个cto操作2*2 新增数据为4条

过了一周,ceo说,cto权限删除3个
此时就是两个cto操作2*3 删除数据为6条

此时问题就来了,每次新增用户和新增权限都会导致批量的处理权限

  • 麻烦

角色的概念来了

  • 不再给人指定权限,而是针对角色
  • 每个角色对应一个权限列表 一个或者多个
  • 每个用户对应一个角色