关于更新用户信息时的疑问
来源: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
相似问题
