持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第19天,点击查看活动详情
上一篇我们给人员管理界面的功能补充完善了,实现了人员信息的增删改查,这是很基本的 数据管理,在前面我们通过中间件过滤了没有登录信息的请求,考虑到管理页面应该需要对功能进行人员的区分,这一篇进行权限逻辑方面的设计和实现
这个项目的链接是:https://github.com/Amor122/MyTest.git
我已经设置了公开权限,大家都可以访问,项目每天的进度基本上是和文章更新一致的,或者略快于文章,我也是边写边发的,有些代码在后续版本说不定就更改了。代码的字数意义不大,有需要的都可以去项目上直接看,这里我都换成了图片。
一、 实现步骤
(一) 要哪些人能访问
暂时设定为职位是信息系统管理员的人才能进行人员的增改和删除操作,其他人只能查看。
(二) 实现路径
涉及多个按钮实现接口的修改,决定采用装饰器的方式来进行。
装饰器的主要逻辑是先检查请求中是否有登录信息,然后再看这个登录信息里面的id是否是某个类型的用户。
目前的判断逻辑是职位信息是否是信息系统管理员,只有标注职位是信息系统管理员的用户才可以进行增删改的操作。
返回的信息就是json类型的响应,一旦判断到无权限操作,都是直接返回这些提示信息。只有有权限的操作才能继续下去执行原来的步骤。
使用时将这个装饰器应用到视图函数上即可。
无权限用户的操作结果是这样的