我用spring、java和angular构建了一个系统。当用户成功登录到系统时,后端将获取特定用户的角色列表。然后,我意识到服务器的响应可以在到达用户之前进行修改。因此,用户可以为自己添加更多角色并执行非法操作。例如:用户a应该只具有查看数据的角色。但是,当api调用后端获取角色时,用户会截获来自服务器的响应,并向自己添加修改角色。现在,用户可以看到modify按钮并开始修改某些内容。有没有办法防止这种情况发生?
evrscar21#
保持后端检查每个请求中的用户角色。我的意思是,如果您的用户请求一个操作(使用修改后的角色),您总是检查用户是否有有效的令牌,以及他们的角色(保存在您的数据库中)是否正确执行该操作。这种方式与用户发送给您无关,您总是确认该操作是否被允许。在这种情况下,进行非法操作的唯一方法是使用其他用户访问令牌,但这是另一个安全问题。
1条答案
按热度按时间evrscar21#
保持后端检查每个请求中的用户角色。我的意思是,如果您的用户请求一个操作(使用修改后的角色),您总是检查用户是否有有效的令牌,以及他们的角色(保存在您的数据库中)是否正确执行该操作。这种方式与用户发送给您无关,您总是确认该操作是否被允许。
在这种情况下,进行非法操作的唯一方法是使用其他用户访问令牌,但这是另一个安全问题。