假设在我的系统中,用户想要更改他的密码。他发送一个PUT请求,然后调用UserRepository.save()。如果他破解了请求,他可能会设置[user].admin_rights=1或类似的设置。
现在,我可以将@Column( updatable=false )添加到相应的字段中:
@Entity public class User {
@Column(updatable=false) private Boolean admin_rights;
// ....,但管理员可能需要在某一天更新此字段!
我是否需要为此编写自定义查询,指定要更新的列?或者,有没有办法在User实体中解决这个权限问题?
发布于 2017-01-06 06:37:31
执行这样的权限是应用程序的责任。在您的终结点上,您应该在尝试保存传入实体之前验证它是否有效。在这种情况下,“有效”意味着用户没有试图不适当地提升其权限。应用程序永远不应该盲目信任用户发送的数据。
https://stackoverflow.com/questions/41495911
复制相似问题