关于更新用户信息时的疑问
来源:6-7 更新用户个人信息功能开发
ZHU_WD
2018-06-14
这是service层的一段代码,请问在这段代码中,为什么要 new 一个 User 呢,直接对传递过来的 User 进行操作然后保存不行吗?不是很理解
写回答
1回答
-
因为传递过来的user可能带有恶意参数,例如user.role = 0,这样这个用户就会变成一个管理员,导致纵向越权。
当然,你也可以将传递过来的user通过setRole(1)保证他是普通用户。
这只是一种情况,实际中可能还有其它不应该被修改的字段。
总结来说,直接用传递过来的user进行操作保存时可以的,但是要非常小心,确保不会修改我们不想修改的信息。
而new 一个user虽然相对麻烦一点,但是能确保要修改的信息我们是清楚的。
722018-06-17
相似问题