[转载]权限管理设计

baacloud免费翻墙vpn注册使用

[转载]权限管理 – 一点一线 – 博客园.

  1. 数据库表设计:

  1. 后台的登录时序图:

  1. 详细讲解设计:假定,用户(op)为zhangsan ,id是1,角色是:200. 那么以下的情况:

    a) 权限文件

      i.当 添加/修改 用户权限时,会修改对应权限文件,该文件以用户id(op_id)为名 1.php,存放在指定的权限文件夹下

      ii.删除用户时,会把对应的权限文件删除

      iii.验证权限时,会把该权限文件引入,在根据当前访问连接地址,比 如:http://www.xxx.com/user/op.php?act=del ,会获取/user/op.php这部分的page_url,来获取menu表中与之对应的id,而act=del则表示他的权限,【根据权限文件中存放 的是:menu_id=>权限】这样的格式,就可以对比出,用户是否有权限访问。当然,如果权限文件中连这个menu_id都没有的话,肯定是没有 权限的。

    b)菜单文件

      i.跟权限文件一样,也是在用户添加权限后,就会把它对应的权限的菜单,生成一个以id为名的html文件.(1.html)

      ii.用户删除后,对应的1.html文件删除.

      iii.登录成功后,后台的右侧菜单,就导入该文件,渲染一下即可。

      iv.菜单分为:固定菜单[配置文件,针对角色高的用户拥有] 和 可分配的菜单[存放在数据库],不同的角色,菜单不一样,如果是普通的角色,那么肯定没有固定菜单的权限。

    c)操作员角色(op_role) 包括:1 = 操作员,200 = 运维操作员,254 = 超级管理员,255 = 系统管理员

      i.这里所用到的角色不是用来控制权限。而只是控制后台的菜单,假如用户(op) A角色是255,那么会有在判断用户权限时,就会显示出该角色对应的固定菜单,比如:用户的管理,菜单的管理,不会因为删除了所有菜单而导致无法使用的情况!

    d)验证流程:

       i.  菜单载入流程

      ii.  权限的判断:

    权限的运算:http://www.cnblogs.com/toby/archive/2011/10/23/2221863.html

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏