一个ERP的系统,用的是TP的框架,TP的框架中,有一个RBAC的类,还有四个表,一个node节点表,一个role角色表,一个role_user表,一个access表,它已经自动帮你写好结构,并注释在这个类中了,即拿即用包含你本身就有的user表,用户表,一共是五个表:
user表,存放用户的信息
role表,角色新建管理的表,存放的是角色的一些基本信息而已
role_user表,单从字面看,就是用户表与角色表进行的管理,可为一对多,或者多对多的。
node表,节点表,则主要放置应用,控制器,方法的名称
access表,则是进行node表与role表的角色关联,即该角色下所对应的功能权限
主要tp框架实现的逻辑是:
1.登录模式获取权限,通过登录调用RBAC类,将该用户的角色下的权限,即access与node表联表后,获取相应的节点功能,存放到session中,每次调用任何一个方法,会先通过tp框架机制去跟存放在session里面的权限数据进行判断,然后返回结果。
2.实时获取权限,在每次调用方法的时候,通过RBAC类访问数据库,获取是否可操作该方法的权限,一般如果有用框架的话,先熟悉下框架里面的类,一般权限这块,框架都有相应的类可用,如果没的话,可以去找找RBAC的类,研究研究,基本有这个类做,很容易就做出来了