有关在SAPUI5应用程序中对OData API调用进行证券化的问题。
在旧系统中,一旦用户成功通过授权,就可以直接从客户端向OData API发送带有用户ID和所需数据的请求,而无需在服务器端进行任何其他安全检查。 / p>
我担心的是,系统中的任何授权用户都可以充当特洛伊木马,从理论上讲,他们会欺骗自己的用户ID,并以另一个用户的名义执行某些操作。作为缓解措施,可以选择通过引入服务器端包装程序从客户端封装OData API,该包装程序将在将请求转发到OData API之前执行发送方身份验证。
问题是,SAPUI5平台中是否已经存在一些现成的方法来保护OData API的使用,以确保请求发送者不能伪造用户ID并在系统中使用其他名称进行操作
答案 0 :(得分:1)
假设对OData服务的访问不是匿名的,则服务器上将具有某种“当前登录的用户”信息。
现在,检查用户是否被允许访问他所请求的数据是服务实现的一项重要任务。
我将提出一些示例请求。
/UserData('ALICE')
/UserData('BOB')
服务实现必须检查是否允许请求用户获取数据。例如,爱丽丝将获取第一个请求的数据,并获取第二个请求的404。鲍勃反过来。超级用户可以同时获取两者的数据。
再举一个例子,可能是这样的:每个员工都可以访问自己的数据,允许团队负责人访问其团队中每个人的数据。
底线:服务必须检查是否允许用户访问数据。