管理员权限判定
来源:7-2 添加分类和更新分类名字功能开发
三又十二分之四
2019-07-22
老师
权限判定有三个问题
1、如图
已经在Controller 做了User的非空判断,为什么在service还要做一次?
2、校验权限时,是直接利用session中数据的 role 字段,会不会被篡改,一个普通用户权限改成 1 管理员
有没有必要,根据session中的currentuser 的id ,name查找他数据库中的权限,来校验权限?
3、checkAdmin()作为service层的方法,返回值给controller,不回传给前端,我能不能返回值不传ServerResponse ,就简单的传个true和false?
写回答
1回答
-
geelylucky
2019-07-22
因为checkAdmin是复用的,所以你不能保证所有调用的方法都会提前做判断,所以作为独立的功能,它就不能依赖调用者。
这个要看具体的实现原理,假如只在session存储一个userId,就需要通过这个userId查询数据库来验证权限,假如把整个用户实体包括权限存储进session,那就不需要再次查询,前提是用户信息保证同步的情况下。
这个要看你自己的实现,逻辑说的通都是可以的。
012019-07-22
相似问题