创建一个尝试使用 RESTful API 的 angularjs 单页应用程序,我遇到了一个我似乎无法找到答案的问题。我试图阻止会话希望,一位登录的用户查看请求发现他的帐户 ID 是 13。所以他执行了相同的请求,但这次更改了获取帐户 ID 14 信息的请求。
因此,在用户登录后,我将会话变量设置为他的帐户 ID,并将从 ajax 请求中删除帐户 ID。然后我尝试从继承自 ApiController 的类访问 Session。环顾四周后,我意识到存储会话信息不是很 RESTful。
那么,我将如何确保一个帐户无法访问另一个帐户的信息,因为他们观察了 ajax 请求并弄清楚了如何操纵 ajax 请求?
restful 不是要和需要认证和授权的用户一起使用吗?我在考虑可能散列 ID 或其他东西,但我不确定这是正确的方法。
更新:
我现在有基于令牌的身份验证工作。但是对于如何防止某人摆弄 HTTP 请求并获取不属于他的信息,我仍然一无所知。例如,我想检索 ID 为 14 的帐户的所有用户。
HTTP Get /users/14
我有一个令牌,所以我知道尝试使用 Web API 的人在某些时候进行了身份验证。我可以将其锁定为角色。但是没有什么可以阻止这个经过身份验证的人对请求进行摆弄/黑客攻击并执行以下操作
HTTP Get /users/58
现在此人已获得 ID 58 信息的所有帐户。这是不属于14号账户的信息,但现在他可以浏览其他人的信息。
我需要有人知道来自浏览器的请求并说它是针对 ID 14 的帐户,它确实是帐户 14。我可以将该信息放入令牌中,但如何在处理程序中检查或检查它api控制器?