关于在SAPUI5应用程序中证券化OData API调用的问题。
在遗留系统中,一旦用户成功通过授权,就可以直接从客户端向OData API发送带有用户ID和所需数据的请求,而无需在服务器端进行任何额外的安全检查。
我担心的是,系统中的任何授权用户都可以表现为木马,理论上欺骗他们自己的用户ID并以另一个用户的名义执行某些操作。作为缓解意味着,可以选择通过引入服务器端包装器从客户端封装OData API,该包装器将在将请求转发给OData API之前执行发送方身份验证。
问题是SAPUI5平台中是否已经有一些开箱即用的方法来保护OData API的使用,以确保请求发送方不会伪造用户ID并在另一个名称的系统中执行某些操作。
假设访问OData服务不是匿名的,您将在服务器上获得某种“当前登录的用户”信息。
现在,检查是否允许用户访问他请求的数据是服务实现的一项重要任务。
我会补充一些样品请求。
/UserData('ALICE')
/UserData('BOB')
服务实现必须检查是否允许请求用户获取数据。例如,Alice将获取第一个请求的数据,以及第二个请求的404。鲍勃反过来。超级用户可以获取两者的数据。
作为另一个例子,这样的事情是可能的:每个员工都可以访问自己的数据,允许团队领导访问团队中每个人的数据。
底线:服务必须检查是否允许用户访问数据。