首页 > 解决方案 > SAPUI5 应用程序登录后端并获取数据

问题描述

我之前问过一个类似的问题,但没有得到正确答案,因为我的问题没有意义或无法理解。

所以我再试一次。。

我的问题是我不明白登录是如何工作的。我的情况:我创建了一个完整的应用程序,它也适用于后端。我的目的地连接到 Cloud Connector .. 并部署在 SAP Cloud 平台上。它适用于 Odata 和 SAP GATEWAY 客户端 现在,我在应用程序中使用我的 SAP 登录数据登录。关于它的事情,该应用程序适用于所有员工,并且所有人都有他们的 sap 登录。我的应用程序应根据 sap 后端中的人员编号过滤模型。这就是为什么我需要登录。因为所有员工都应该只看到他的条目。

现在看起来像这样

我想要一个登录页面.. 之后,我想获取员工编号并将其传递给整个应用程序过滤器。

我希望你明白我的意思。这就像员工的应用程序,员工使用 SAP 数据登录,根据员工编号只看到他们的条目。

我需要这个吗?有没有更好的办法?

标签: javascriptodatasapui5

解决方案


当前设置

在您当前的设置中,您的前端(ui5 应用程序)是匿名访问的。当应用程序第一次通过目标和云连接器访问后端时,后端会要求用户进行身份验证。从现在开始,对后端的每个请求都使用此用户上下文执行。

从身份验证的角度来看非常好(除了你想看到一个漂亮的登录屏幕)

可能的解决方案)

如果您希望用户在云中的屏幕上进行身份验证,我会看到两种变体:

  1. 带有两个用户/密码输入字段的简单屏幕。并使用 BasicAuth 标头对后端进行 Ajax 调用。潜在的安全漏洞:您也可以将用户/密码发送到其他地方。所以用户必须信任你的应用!!

  2. 使用 SAML2 设置单点登录(更复杂)

更新:刚刚想到您当前的设置与变体 1 具有相同的安全漏洞:用户必须相信您的应用程序是该目的地背后的后端,而不是一些中间人系统。因此,变体 1 不会引入任何额外的风险。在企业场景中,您可以通过其他方式确保应用程序和目标是可信的。


推荐阅读