前面的菜单、部门、职位与管理员管理功能完成后,接下来要处理的是将它们关联起来,根据职位管理中选定的权限控制菜单显示以及页面数据的访问和操作。
那么要怎么改造呢?我们可以通过用户的操作步骤来一步步进行处理,具体思路如下:
1.用户在管理端登录时,通过用户记录所绑定的职位信息,来确定用户所拥有的权限。我们可以在登录接口中,将该管理员的职位id存储到session中,以方便后续的调用。
2.登录成功后,跳转进入管理界口,在获取菜单列表时,需要对菜单列表进行处理,只列出当前用户有权限的菜单项。
3.在点击菜单进入相关数据页面或在数据页面进行增删改查等操作时,需要进行权限判断,判断是否有权限进行查看或操作。由于我们是前后端分离,所以权限只需要在接口进行处理。
首先我们来简单改造一下登录接口login.py,只需要在将职位id存储到session中就可以了
1 ############################################################## 2 ### 把用户信息保存到session中 ### 3 ############################################################## 4 manager_id = manager_result.get('id', 0) 5 s['id'] = manager_id 6 s['login_name'] = username 7 s['positions_id'] = manager_result.get('positions_id', '') 8 s.save()