如何防止用户修改其他用户'数据?

时间:2016-03-18 22:37:01

标签: java security spring-security

场景:允许用户上传图片的照片共享网站。用户可以删除或编辑他们的照片。删除和编辑方法是Post方法。这些方法使用照片ID来定位照片并对其进行修改。这些照片是通过当前经过身份验证的用户信息获得的,例如:In [38]: dfz.loc[dfz['E'].isnull(), 'C'] = dfz['E'] dfz Out[38]: A B C D E 0 1 1 1 1 22 1 0 0 0 0 15 2 0 0 NaN 0 NaN 3 1 1 1 1 10 4 0 0 NaN 0 NaN 5 0 1 1 0 557

那么如果用户A想要删除用户B的照片ID,并且A使用JavaScript编写post方法并删除用户B的照片,该怎么办呢。

这可能吗?或者这种做法有问题吗?

1 个答案:

答案 0 :(得分:1)

您需要编写一个允许基于权限删除的服务层。

这可以防止用户删除他们不应该删除的资产。

每个请求都会对此进行验证,以确保无权删除cant的用户。

这完全取决于您的域管理权限的方式,如果资产具有特定所有者,那么您可以使用SecurityContextHolder,否则您需要实现自己的逻辑。