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