拿我曾经的一个项目为例子!
数据库表结构:

权限的实现通常是采用角色的机制!这里的角色不是数据库里的角色,像oracle里它有自己的一套角色机制。我们程序里的角色是模仿数据库里的角色,我们采用建表的策略来模仿一个数据库的角色。
如上图,其中T_SYS_ROLE表:

里面存放的是各个角色,ID里是该角色的ID,这个字段是关键!其它的几个关于权限的几个表都是通过它联系在一起的!
表T_SYS_ROLEUSER:

里面存放的是角色和用户的对应关系!
表T_SYS_FUNCTION:

这个表存放的是页面上各个功能菜单。
表T_SYS_ROLEFUN:

这个表反应了角色和各个功能菜单的对应关系!
通过以上四张表,就把用户和各个功能菜单联系起来了(其实是五张表,因为我这里默认用户表已经存在了!)
根据各个角色对应的功能菜单,在页面上来显示菜单。角色不对应的菜单,该角色在页面上看不到。通过这种逻辑实现我的权限控制!
转载于:https://blog.51cto.com/fluagen/43496