通用的权限模块是如何设计的?

来源:互联网 发布:创世纪 许文彪 知乎 编辑:程序博客网 时间:2024/04/28 06:23
  1. 通用的权限模块是如何设计的,通常是一张用户表,角色表,用户与角色关联表,功能表,角色与功能关联表,模块表。
  2. 如上设计之后,当要判断一个用户是否具有某个权限的时候先要从用户与角色关联表出发,找到当前用户所属的角色,然后再去角色功能关联表里面查找用户所属角色所具有的功能点。查找出来的用户具有功能点是一个集合,还要把当前的功能点与集合里面的所有功能点比较,如果在集合里面找到了功能点,就证明此用户具备该功能点的权限,否则就证明该用户不具备此功能点的权限。
  3. 以上做法看似繁琐,但是大部分的操作都是在用户登陆的时候就把其对应的功能点集合取出,放入Session中,那么以后判断用户是否具备某个功能点的时候只需要把功能点与Session当中的功能点集合遍历比较即可。