权限设计方式实践

权限设计的方式有很多,其中我以前在博文中也曾经也有写到,不过那时候经验尚浅

如:http://www.cnblogs.com/super-d2/archive/2013/01/18/2866593.html

现在遇到项目多了,自然理论能力也上升到一定程度了,在我最新一轮是项目实践中,我是用了用户-角色-模块的设计方式;

具体如下:

用户表:(id,jids,mids)=(用户id,角色id,去掉的模块id);

角色表:(id,mids)=(角色id,拥有的模块id);

模块表(权限表):(id,url)=(模块id,具体的动作);

这样设计方便后台权限赋予的操作:

  1)一个用户可以有多个角色;

  2)但是不一定能够拥有角色的全部权限;(于是我对模块采取减法处理)

  3)模块表(权限表)存储的是用户的具体的操作,细致到页面上面的每个按钮;

在处理后台系统时,我们在登陆到系统后,把该用户的权限全部取出,放入session里面,用户究竟有没有权限进行某些操作,只要到session里面检验就好了,不用每次都查询数据库。

 

 

 

 

你可能感兴趣的:(权限)