rbac权限管理系统的学习

RGBA学习

  在web开发项目中,有些网页是公开给所有人访问的,但有些网页涉及了某些数据表的增删改查的操作,而某些操作,特别是增改删的操作是一些敏感操作所有需要给不同的用户添加不同的权限,那么问题来了来了,我们需要怎样设置数据表来分配不同权限呢?很显然.我们不可能只用一张表格来存储所有数据,这样我们就需要一张权限表和用户表,根据不用用户分配不同权限,如图所示:

   根据上图所示可以使不同的用户获取不同的权限,但在这种方法有一个问题,就是没有办法根据网页不同来分配权限,例如一个用户有删除权限,就有全部网页对应操作数据表的删除权限。显然,这样不是我们想要的。为了解决这个问题,我们可以通过url来解决这个问题,如图所示:

  如上course是项目内部的一个course数据表,通过途中permission中的4个url分别代表增删改查权限,那么,当我们新增不同的表时,只要添加同样的四条数据就可以通过四条数据来分配权限了,这样我们已经基本解决了权限分配的问题,可是这样还有一个小小的问题,当数据表和用户表的数据量小的时候看不出来,当数据量打的时候,中间的关联表就会很大,特别是有很多用户拥有相同的权限时,就会出现类似于程序中的冗余现象,为了解决这个问题,我们可以新增一个角色表,如图所示:

   通过上面的5张表格,服务器可以根据登陆用户查询到用户的角色,然后查询他是否有访问数据表的权限url,有则让他访问,没有则不让其访问

 

posted @ 2019-10-08 11:21  mark平  阅读(346)  评论(0编辑  收藏  举报