javascript - SAPUI5 应用程序登录后端并获取数据
问题描述
我之前问过一个类似的问题,但没有得到正确答案,因为我的问题没有意义或无法理解。
所以我再试一次。。
我的问题是我不明白登录是如何工作的。我的情况:我创建了一个完整的应用程序,它也适用于后端。我的目的地连接到 Cloud Connector .. 并部署在 SAP Cloud 平台上。它适用于 Odata 和 SAP GATEWAY 客户端 现在,我在应用程序中使用我的 SAP 登录数据登录。关于它的事情,该应用程序适用于所有员工,并且所有人都有他们的 sap 登录。我的应用程序应根据 sap 后端中的人员编号过滤模型。这就是为什么我需要登录。因为所有员工都应该只看到他的条目。
现在看起来像这样
我想要一个登录页面.. 之后,我想获取员工编号并将其传递给整个应用程序过滤器。
我希望你明白我的意思。这就像员工的应用程序,员工使用 SAP 数据登录,根据员工编号只看到他们的条目。
我需要这个吗?有没有更好的办法?
解决方案
当前设置
在您当前的设置中,您的前端(ui5 应用程序)是匿名访问的。当应用程序第一次通过目标和云连接器访问后端时,后端会要求用户进行身份验证。从现在开始,对后端的每个请求都使用此用户上下文执行。
从身份验证的角度来看非常好(除了你想看到一个漂亮的登录屏幕)
可能的解决方案)
如果您希望用户在云中的屏幕上进行身份验证,我会看到两种变体:
带有两个用户/密码输入字段的简单屏幕。并使用 BasicAuth 标头对后端进行 Ajax 调用。潜在的安全漏洞:您也可以将用户/密码发送到其他地方。所以用户必须信任你的应用!!
使用 SAML2 设置单点登录(更复杂)
更新:刚刚想到您当前的设置与变体 1 具有相同的安全漏洞:用户必须相信您的应用程序是该目的地背后的后端,而不是一些中间人系统。因此,变体 1 不会引入任何额外的风险。在企业场景中,您可以通过其他方式确保应用程序和目标是可信的。
推荐阅读
- json - 如何在颤振普通类中获取本地 JSON
- html - Golang 在按钮按下时呈现新模板
- laravel - 异常的 Livewire 行为:对象变为空数组
- java - JavaMailSender 使用 Kubernetes PodName 发送邮件
- css - 如何在 React 中使用带有样式组件的背景图像中的道具
- sql - 用给定字符串中的前一个字母替换
- python - LSTM 层之后的自定义注意力层在 Keras 中给出 ValueError
- r - file.exists() 结果是假的-但文件在那里
- javascript - 如何将一组句子拆分成json格式?
- swift - 使用 Alamofire.download() 请求时如何从响应正文中获取错误消息