一、需求
不同权限的用户登录后台管理系统时,需要展示不同的菜单,不同的用户有不同的权限嘛。那这个需求该如何实现呢?
二、设计思路
我们这样来思考。
对于用户权限控制的设计主要涉及3个实体:用户、岗位和权限。
一个用户对应一个岗位,一个岗位对应一些菜单模块(权限)。
既然是这样,那就不难设计了。
我们在数据库中设计3个表:
- 用户表(user)
- 岗位表(role)
- 模块表(module)
然后,继续增加两个表:
- 用户岗位表(user_role):用于保存用户所处的岗位信息
- 岗位模块表(role_module):用户保存岗位对应的菜单模块信息
作为灵魂画家,给大家画个图描述一下吧:
用户表 ------------------- 岗位表 ------------------- 模块表
| | | |
| ---- 用户岗位表 ---- | | ---- 岗位模块表 ---- |
做完表设计,权限设计的方案就基本出来了。
三、关键代码
登录成功后进入主页时,加载用户的顶部菜单和左侧菜单
@RequestMapping("/